[Top] [All Lists]

Re: [PATCH 2/8] xfs: fix incorrect b_offset initialisation

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 2/8] xfs: fix incorrect b_offset initialisation
From: Mark Tinguely <tinguely@xxxxxxx>
Date: Thu, 29 Mar 2012 15:43:42 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <1333023835-12856-3-git-send-email-david@xxxxxxxxxxxxx>
References: <1333023835-12856-1-git-send-email-david@xxxxxxxxxxxxx> <1333023835-12856-3-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0
On 03/29/12 07:23, Dave Chinner wrote:
From: Dave Chinner<dchinner@xxxxxxxxxx>

Because we no longer use the page cache for buffering, there is no
direct block number to page offset relationship anymore.
xfs_buf_get_pages is still setting up b_offset as if there was some
relationship, and that is leading to incorrectly setting up
*uncached* buffers that don't overwrite b_offset once they've had
pages allocated.

For cached buffers, the first block of the buffer is always at offset
zero into the allocated memory. This is true for sub-page sized
buffers, as well as for multiple-page buffers.

For uncached buffers, b_offset is only non-zero when we are
associating specific memory to the buffers, and that is set
correctly by the code setting up the buffer.

Hence remove the setting of b_offset in xfs_buf_get_pages, because
it is now always the wrong thing to do.

Signed-off-by: Dave Chinner<dchinner@xxxxxxxxxx>

Looks good.

Reviewed-by: Mark Tinguely <tinguely@xxxxxxx>

<Prev in Thread] Current Thread [Next in Thread>