From: Junichi Nomura Date: Tue, 26 May 2015 08:25:54 +0000 (+0000) Subject: dm: run queue on re-queue X-Git-Tag: v4.1~73^2~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4ae9944d132b160d444fa3aa875307eb0fa3eeec;p=platform%2Fkernel%2Flinux-amlogic.git 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 commit 7eaceaccab5f ("block: remove per-queue plugging"), which replaced conditional plugging by periodic runqueue. Commit 9d1deb83d489 in v4.1-rc1 removed the periodic runqueue and the problem started to manifest. Fixes: 9d1deb83d489 ("dm: don't schedule delayed run of the queue if nothing to do") Signed-off-by: Jun'ichi Nomura Signed-off-by: Mike Snitzer --- diff --git a/drivers/md/dm.c b/drivers/md/dm.c index a930b72..0bf79a0 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -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); }