Test patches for RWF_NOACCESS

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/engines/io_uring.c b/engines/io_uring.c
index 9ba126d..f5d302d 100644
--- a/engines/io_uring.c
+++ b/engines/io_uring.c
@@ -76,6 +76,7 @@
 	unsigned int sqpoll_set;
 	unsigned int sqpoll_cpu;
 	unsigned int uncached;
+	unsigned int noaccess;
 };
 
 static int fio_ioring_sqpoll_cb(void *data, unsigned long long *val)
@@ -143,6 +144,15 @@
 		.group	= FIO_OPT_G_IOURING,
 	},
 	{
+		.name	= "noaccess",
+		.lname	= "No access",
+		.type	= FIO_OPT_INT,
+		.off1	= offsetof(struct ioring_options, noaccess),
+		.help	= "Use RWF_NOACCESS for buffered reads",
+		.category = FIO_OPT_C_ENGINE,
+		.group	= FIO_OPT_G_IOURING,
+	},
+	{
 		.name	= NULL,
 	},
 };
@@ -192,6 +202,8 @@
 		}
 		if (!td->o.odirect && o->uncached)
 			sqe->rw_flags = RWF_UNCACHED;
+		if (!td->o.odirect && o->noaccess)
+			sqe->rw_flags = 0x80;
 		sqe->off = io_u->offset;
 	} else if (ddir_sync(io_u->ddir)) {
 		if (io_u->ddir == DDIR_SYNC_FILE_RANGE) {
diff --git a/engines/sync.c b/engines/sync.c
index 65fd210..94e3f85 100644
--- a/engines/sync.c
+++ b/engines/sync.c
@@ -40,6 +40,7 @@
 	unsigned int hipri;
 	unsigned int hipri_percentage;
 	unsigned int uncached;
+	unsigned int noaccess;
 };
 
 static struct fio_option options[] = {
@@ -74,6 +75,15 @@
 		.group	= FIO_OPT_G_INVALID,
 	},
 	{
+		.name	= "noaccess",
+		.lname	= "noaccess",
+		.type	= FIO_OPT_INT,
+		.off1	= offsetof(struct psyncv2_options, noaccess),
+		.help	= "Use RWF_NOACCESS for buffered reads",
+		.category = FIO_OPT_C_ENGINE,
+		.group	= FIO_OPT_G_INVALID,
+	},
+	{
 		.name	= NULL,
 	},
 };
@@ -164,6 +174,8 @@
 		flags |= RWF_HIPRI;
 	if (!td->o.odirect && o->uncached)
 		flags |= RWF_UNCACHED;
+	if (!td->o.odirect && o->noaccess)
+		flags |= 0x80;
 
 	iov->iov_base = io_u->xfer_buf;
 	iov->iov_len = io_u->xfer_buflen;