block/mq-deadline: Fix a bug in deadline_from_pos()
authorBart Van Assche <bvanassche@acm.org>
Wed, 12 Jul 2023 17:33:43 +0000 (10:33 -0700)
committerJens Axboe <axboe@kernel.dk>
Wed, 12 Jul 2023 17:37:41 +0000 (11:37 -0600)
commitf673b4f5bd13365c8bee2f38c9794b635c73a302
tree66655494e124c67d96a515eb001295b688246ca5
parentdc8cbb65dc17b0daebca84375d35ce54ff730762
block/mq-deadline: Fix a bug in deadline_from_pos()

A bug was introduced in deadline_from_pos() while implementing the
suggestion to use round_down() in the following code:

pos -= bdev_offset_from_zone_start(rq->q->disk->part0, pos);

This patch makes deadline_from_pos() use round_down() such that 'pos' is
rounded down.

Reported-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Closes: https://lore.kernel.org/all/5zthzi3lppvcdp4nemum6qck4gpqbdhvgy4k3qwguhgzxc4quj@amulvgycq67h/
Cc: Christoph Hellwig <hch@lst.de>
Cc: Damien Le Moal <dlemoal@kernel.org>
Fixes: 0effb390c4ba ("block: mq-deadline: Handle requeued requests correctly")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20230712173344.2994513-1-bvanassche@acm.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/mq-deadline.c