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

Mark Tinguely tinguely at sgi.com
Thu Mar 29 15:43:42 CDT 2012


On 03/29/12 07:23, Dave Chinner wrote:
> From: Dave Chinner<dchinner at redhat.com>
>
> 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 at redhat.com>
> ---

Looks good.

Reviewed-by: Mark Tinguely <tinguely at sgi.com>



More information about the xfs mailing list