dm: run queue on re-queue
Without kicking queue, requeued request may stay forever in the queue if there are no other I/O activities to the device. The original error had been in v2.6.39 with commit7eaceaccab
("block: remove per-queue plugging"), which replaced conditional plugging by periodic runqueue. Commit9d1deb83d4
in v4.1-rc1 removed the periodic runqueue and the problem started to manifest. Fixes:9d1deb83d4
("dm: don't schedule delayed run of the queue if nothing to do") Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
Родитель
ba155e2d21
Коммит
4ae9944d13
|
@ -1164,6 +1164,7 @@ static void old_requeue_request(struct request *rq)
|
|||
|
||||
spin_lock_irqsave(q->queue_lock, flags);
|
||||
blk_requeue_request(q, rq);
|
||||
blk_run_queue_async(q);
|
||||
spin_unlock_irqrestore(q->queue_lock, flags);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче