mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-01 03:28:38 -05: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. Commit9d1deb83d4in 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:
committed by
Mike Snitzer
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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user