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: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=407df2aa29a33fe16f6ee4bac8cdfa414783b9f1;p=linux-2.6 [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 e58928e809..a475b1a19f 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);