mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-15 23:14:31 +08:00
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:
parent
ba155e2d21
commit
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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user