]> git.baikalelectronics.ru Git - kernel.git/commit
block: blk-throttle should be drained regardless of q->elevator
authorTejun Heo <tj@kernel.org>
Tue, 6 Mar 2012 20:24:55 +0000 (21:24 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 6 Mar 2012 20:24:55 +0000 (21:24 +0100)
commit2904d551c372c70b36e61109f3ccf9bcbdfabdd6
tree26a432c7f8d014531059a3f0789199d3dde2e3da
parentca243fc8a666c6c1995198b1ea239464768c59ae
block: blk-throttle should be drained regardless of q->elevator

Currently, blk_cleanup_queue() doesn't call elv_drain_elevator() if
q->elevator doesn't exist; however, bio based drivers don't have
elevator initialized but can still use blk-throttle.  This patch moves
q->elevator test inside blk_drain_queue() such that only
elv_drain_elevator() is skipped if !q->elevator.

-v2: loop can have registered queue which has NULL request_fn.  Make
     sure we don't call into __blk_run_queue() in such cases.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Vivek Goyal <vgoyal@redhat.com>
Fold in bug fix from Vivek.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-core.c