Эх сурвалжийг харах

[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>
Tejun Heo 20 жил өмнө
parent
commit
407df2aa29
1 өөрчлөгдсөн 2 нэмэгдсэн , 0 устгасан
  1. 2 0
      block/elevator.c

+ 2 - 0
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);