[PATCH v2 1/3] xfs: use b_maps[] for discontiguous buffers
Mark Tinguely
tinguely at sgi.com
Fri Nov 30 11:55:08 CST 2012
On 11/30/12 10:09, Christoph Hellwig wrote:
>> use_alloc_page:
>> - start = BBTOB(bp->b_map.bm_bn)>> PAGE_SHIFT;
>> - end = (BBTOB(bp->b_map.bm_bn + bp->b_length) + PAGE_SIZE - 1)
>> + start = BBTOB(bp->b_maps[0].bm_bn)>> PAGE_SHIFT;
>> + end = (BBTOB(bp->b_maps[0].bm_bn + bp->b_length) + PAGE_SIZE - 1)
>
> Btw, how is this logic supposed to work for discontiguous buffers?
>
> Each of them might straddle boundaries individually, so doing the
> start/end calculation for the number of pages isn't going to be correct.
>
eeek. yep, I will loop through and count the pages needed in each
segment.
--Mark.
More information about the xfs
mailing list