Re: [PATCH 1/3] block: don't use bio->bi_vcnt to figure out segment number
From: Christoph Hellwig <hch@lst.de>
Date: 2018-08-01 14:52:25
From: Christoph Hellwig <hch@lst.de>
Date: 2018-08-01 14:52:25
On Tue, Jul 31, 2018 at 06:49:12PM +0800, Ming Lei wrote:
It is wrong to use bio->bi_vcnt to figure out how many segments
there are in the bio even though CLONED flag isn't set on this bio,
because this bio may be splitted or advanced.
So always use bio_segments() in blk_recount_segments(), and it shouldn't
cause any performance loss now because the physical segment number is figured
out in blk_queue_split() and BIO_SEG_VALID is set meantime since
bdced438acd83ad83a6c ("block: setup bi_phys_segments after splitting").Looks good, Reviewed-by: Christoph Hellwig <hch@lst.de>