]> git.baikalelectronics.ru Git - kernel.git/commit
blk-mq: don't call io sched's .requeue_request when requeueing rq to ->dispatch
authorMing Lei <ming.lei@redhat.com>
Fri, 23 Feb 2018 15:36:56 +0000 (23:36 +0800)
committerJens Axboe <axboe@kernel.dk>
Sat, 24 Feb 2018 22:55:54 +0000 (15:55 -0700)
commitbaac63a67f4a1279c703c4d2f7937f65e602064d
tree2c3d09d3f0e2495be37f67b29f45a5ca19089bf2
parent1c8c157ac0efbdd9f5782004f72dabaf5f23ed9b
blk-mq: don't call io sched's .requeue_request when requeueing rq to ->dispatch

__blk_mq_requeue_request() covers two cases:

- one is that the requeued request is added to hctx->dispatch, such as
blk_mq_dispatch_rq_list()

- another case is that the request is requeued to io scheduler, such as
blk_mq_requeue_request().

We should call io sched's .requeue_request callback only for the 2nd
case.

Cc: Paolo Valente <paolo.valente@linaro.org>
Cc: Omar Sandoval <osandov@fb.com>
Fixes: f0679950ad9f ("blk-mq-sched: add framework for MQ capable IO schedulers")
Cc: stable@vger.kernel.org
Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com>
Acked-by: Paolo Valente <paolo.valente@linaro.org>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c