From: Tejun Heo Date: Thu, 10 Nov 2005 07:48:21 +0000 (+0100) Subject: [BLOCK] elevator: run queue in elevator_switch X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=407df2aa29a33fe16f6ee4bac8cdfa414783b9f1;p=openwrt%2Fstaging%2Fblogic.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 e58928e809ea..a475b1a19f67 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);