[PATCH v2 1/3] xfs: use b_maps[] for discontiguous buffers

Christoph Hellwig hch at infradead.org
Fri Nov 30 10:09:20 CST 2012


>  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.



More information about the xfs mailing list