From: Jens Axboe <axboe@kernel.dk>
Date: Fri, 25 Sep 2020 15:01:53 +0000 (-0600)
Subject: io_uring: don't unconditionally set plug->nowait = true
X-Git-Tag: baikal/aarch64/sdk6.1~8334^2~1
X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=74bb568fcbc8c696cce1bb52280bd1339230f52b;p=kernel.git

io_uring: don't unconditionally set plug->nowait = true

This causes all the bios to be submitted with REQ_NOWAIT, which can be
problematic on either btrfs or on file systems that otherwise use a mix
of block devices where only some of them support it.

For now, just remove the setting of plug->nowait = true.

Reported-by: Dan Melnic <dmm@fb.com>
Reported-by: Brian Foster <bfoster@redhat.com>
Fixes: be6d4627241c ("io_uring: re-issue block requests that failed because of resources")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---

diff --git a/fs/io_uring.c b/fs/io_uring.c
index 0ab16df312881..ad828fa19af4c 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -6353,9 +6353,6 @@ static void io_submit_state_start(struct io_submit_state *state,
 				  struct io_ring_ctx *ctx, unsigned int max_ios)
 {
 	blk_start_plug(&state->plug);
-#ifdef CONFIG_BLOCK
-	state->plug.nowait = true;
-#endif
 	state->comp.nr = 0;
 	INIT_LIST_HEAD(&state->comp.list);
 	state->comp.ctx = ctx;