elevator_dispatch needs to run queue after forced dispatching;
otherwise, the queue might stall.
Signed-off-by: Tejun Heo <[email protected]>
diff --git a/block/elevator.c b/block/elevator.c
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -695,6 +695,8 @@ static void elevator_switch(request_queu
;
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);
On Thu, Nov 10 2005, Tejun Heo wrote:
> elevator_dispatch needs to run queue after forced dispatching;
> otherwise, the queue might stall.
>
> Signed-off-by: Tejun Heo <[email protected]>
Thanks, applied.
--
Jens Axboe