[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>
This commit is contained in:
parent
47a004103d
commit
407df2aa29
@ -696,6 +696,8 @@ static void elevator_switch(request_queue_t *q, struct elevator_type *new_e)
|
|||||||
;
|
;
|
||||||
|
|
||||||
while (q->rq.elvpriv) {
|
while (q->rq.elvpriv) {
|
||||||
|
blk_remove_plug(q);
|
||||||
|
q->request_fn(q);
|
||||||
spin_unlock_irq(q->queue_lock);
|
spin_unlock_irq(q->queue_lock);
|
||||||
msleep(10);
|
msleep(10);
|
||||||
spin_lock_irq(q->queue_lock);
|
spin_lock_irq(q->queue_lock);
|
||||||
|
Loading…
Reference in New Issue
Block a user