From: Ming Lei <ming.lei@redhat.com>
Date: Thu, 2 Nov 2017 23:24:33 +0800
Subject: [PATCH] blk-flush: don't run queue for requests bypassing flush
References: bsc#1104967,bsc#1137959,FATE#325924
Git-commit: 9c71c83c857e7a84a5be5a56ea88da7098f51db8
Patch-mainline: v4.15-rc1
blk_insert_flush() should only insert request since run queue always
follows it.
In case of bypassing flush, we don't need to run queue because every
blk_insert_flush() follows one run queue.
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
block/blk-flush.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/blk-flush.c b/block/blk-flush.c
index 28d50c6020de..4409bedcbab2 100644
--- a/block/blk-flush.c
+++ b/block/blk-flush.c
@@ -463,7 +463,7 @@ void blk_insert_flush(struct request *rq)
if ((policy & REQ_FSEQ_DATA) &&
!(policy & (REQ_FSEQ_PREFLUSH | REQ_FSEQ_POSTFLUSH))) {
if (q->mq_ops)
- blk_mq_sched_insert_request(rq, false, true, false, false);
+ blk_mq_sched_insert_request(rq, false, false, false, false);
else
list_add_tail(&rq->queuelist, &q->queue_head);
return;
--
2.16.4