Message ID | 20220614090934.570632-5-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/6] block: factor out a chunk_size_left helper | expand |
On 6/14/22 02:09, Christoph Hellwig wrote: > get_max_io_size has a very odd choice of variables names and > initialization patterns. Switch to more descriptive names and more > clear initialization of them. Hmm ... what is so odd about the variable names? I have done my best to chose clear and descriptive names when I introduced these names. Bart.
On Tue, Jun 14, 2022 at 09:50:00AM -0700, Bart Van Assche wrote: > On 6/14/22 02:09, Christoph Hellwig wrote: >> get_max_io_size has a very odd choice of variables names and >> initialization patterns. Switch to more descriptive names and more >> clear initialization of them. > > Hmm ... what is so odd about the variable names? I have done my best to > chose clear and descriptive names when I introduced these names. Major confusion: - we have a local variable to hold the queue max sectors value, but it is callled sectors - while we have a variable the holds the rounded end of the I/O range that is called max_sectors Minor confusion: - a variable that hold that rounded start of the range has a random _offset suffix despite not really being an offset
diff --git a/block/blk-merge.c b/block/blk-merge.c index df003ecfbd474..4da981efddeed 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c @@ -164,18 +164,16 @@ static struct bio *blk_bio_write_zeroes_split(struct request_queue *q, static inline unsigned get_max_io_size(struct request_queue *q, struct bio *bio) { - unsigned sectors = blk_max_size_offset(q, bio->bi_iter.bi_sector, 0); - unsigned max_sectors = sectors; unsigned pbs = queue_physical_block_size(q) >> SECTOR_SHIFT; unsigned lbs = queue_logical_block_size(q) >> SECTOR_SHIFT; - unsigned start_offset = bio->bi_iter.bi_sector & (pbs - 1); - - max_sectors += start_offset; - max_sectors &= ~(pbs - 1); - if (max_sectors > start_offset) - return max_sectors - start_offset; - - return sectors & ~(lbs - 1); + unsigned max_sectors, start, end; + + max_sectors = blk_max_size_offset(q, bio->bi_iter.bi_sector, 0); + start = bio->bi_iter.bi_sector & (pbs - 1); + end = (start + max_sectors) & ~(pbs - 1); + if (end > start) + return end - start; + return max_sectors & ~(lbs - 1); } static inline unsigned get_max_segment_size(const struct request_queue *q,
get_max_io_size has a very odd choice of variables names and initialization patterns. Switch to more descriptive names and more clear initialization of them. Signed-off-by: Christoph Hellwig <hch@lst.de> --- block/blk-merge.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-)