[BLOCK] elevator: run queue in elevator_switch
elevator_dispatch needs to run queue after forced dispatching;
otherwise, the queue might stall.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <axboe@suse.de>
diff --git a/block/elevator.c b/block/elevator.c
index e58928e8..a475b1a 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -696,6 +696,8 @@
;
while (q->rq.elvpriv) {
+ blk_remove_plug(q);
+ q->request_fn(q);
spin_unlock_irq(q->queue_lock);
msleep(10);
spin_lock_irq(q->queue_lock);