Re: [PATCH 07/10] xfs: support discontiguous buffers in the xfs_buf_log_item

Mark Tinguely
2012-05-03T19:42:12Z

On 04/24/12 01:33, Dave Chinner wrote:
> From: Dave Chinner<dchinner@redhat.com>
>
>> From the perspective of the log, we need to keep each segment of a
> discontigous buffer in separate buffer format structures. This means log
> recovery will recover all the changes on a per segment basis without
> requiring any knowledge of the fact that it was logged from a
> compound buffer.
>
> To do this, we need to be able to determine what buffer segment any
> given offset into the compound buffer sits over. This enables us to
> translate the dirty bitmap in the number of separate buffer format
> structures required.
>
> We also need to be able to determine the number of bitmap elements
> that a given buffer segment has, as this determines the size of the
> buffer format structure. Hence we need to be able to determine the
> both the start offset into the buffer and the length of a given
> segment to be able to calculate this.
>
> With this information, we can preallocate, build and format the
> correct log vector array for each segment in a compound buffer to
> appear exactly the same as individually logged buffers in the log.
>
> Signed-off-by: Dave Chinner<dchinner@redhat.com>

Looks good.

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