[SRU][Groovy][PATCH] UBUNTU: SAUCE: Revert "block: don't ignore REQ_NOWAIT for direct IO"

Kamal Mostafa kamal at canonical.com
Fri Jul 9 19:03:46 UTC 2021


BugLink: https://bugs.launchpad.net/bugs/1935017

This reverts commit 87c9cfe0fa1fb0fc81c20a6f5ba3c2494871e061.

This commit which is a backport of
  [mainline] f8b78caf21d5 "block: don't ignore REQ_NOWAIT for direct IO"
was picked up from linux-stable v5.4 (or v5.10).  It has been shown to
be the cause of the LP:#1935017 io_uring regression in the Ubuntu v5.8
kernel (specifically observed in Ubuntu-hwe-5.8-5.8.0-59.66_20.04.1).

Reported-by: Juhyung Park <qkrwngud825 at gmail.com>
Tested-by: Juhyung Park <qkrwngud825 at gmail.com>
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
 fs/block_dev.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/fs/block_dev.c b/fs/block_dev.c
index 271b05a321d0..0b6e300e938e 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -244,8 +244,6 @@ __blkdev_direct_IO_simple(struct kiocb *iocb, struct iov_iter *iter,
 		bio.bi_opf = dio_bio_write_op(iocb);
 		task_io_account_write(ret);
 	}
-	if (iocb->ki_flags & IOCB_NOWAIT)
-		bio.bi_opf |= REQ_NOWAIT;
 	if (iocb->ki_flags & IOCB_HIPRI)
 		bio_set_polled(&bio, iocb);
 
@@ -399,8 +397,6 @@ __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter, int nr_pages)
 			bio->bi_opf = dio_bio_write_op(iocb);
 			task_io_account_write(bio->bi_iter.bi_size);
 		}
-		if (iocb->ki_flags & IOCB_NOWAIT)
-			bio->bi_opf |= REQ_NOWAIT;
 
 		dio->size += bio->bi_iter.bi_size;
 		pos += bio->bi_iter.bi_size;
-- 
2.17.1




More information about the kernel-team mailing list