From: Tejun Heo Date: Thu, 10 Nov 2005 07:48:21 +0000 (+0100) Subject: [BLOCK] elevator: run queue in elevator_switch X-Git-Tag: v2.6.15-rc2~229 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=407df2aa29a33fe16f6ee4bac8cdfa414783b9f1;p=linux-2.6-omap-h63xx.git [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 Signed-off-by: Jens Axboe --- diff --git a/block/elevator.c b/block/elevator.c index e58928e809e..a475b1a19f6 100644 --- a/block/elevator.c +++ b/block/elevator.c @@ -696,6 +696,8 @@ static void elevator_switch(request_queue_t *q, struct elevator_type *new_e) ; 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);