From e28683bdfc2f2cb0dab042f9079cda89dbf589d9 Mon Sep 17 00:00:00 2001
From: Jens Axboe <axboe@kernel.dk>
Date: Tue, 24 May 2022 11:56:42 -0600
Subject: [PATCH] io_uring: move nop into its own file

Signed-off-by: Jens Axboe <axboe@kernel.dk>
---
 io_uring/Makefile   |  2 +-
 io_uring/io_uring.c | 15 +--------------
 io_uring/nop.c      | 26 ++++++++++++++++++++++++++
 io_uring/nop.h      |  4 ++++
 4 files changed, 32 insertions(+), 15 deletions(-)
 create mode 100644 io_uring/nop.c
 create mode 100644 io_uring/nop.h

diff --git a/io_uring/Makefile b/io_uring/Makefile
index 479b6957b85ff..32c02a38f83b4 100644
--- a/io_uring/Makefile
+++ b/io_uring/Makefile
@@ -2,5 +2,5 @@
 #
 # Makefile for io_uring
 
-obj-$(CONFIG_IO_URING)		+= io_uring.o xattr.o
+obj-$(CONFIG_IO_URING)		+= io_uring.o xattr.o nop.o
 obj-$(CONFIG_IO_WQ)		+= io-wq.o
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
index 1af97e4a78b7f..3e74925bd4b45 100644
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -93,6 +93,7 @@
 #include "io_uring.h"
 
 #include "xattr.h"
+#include "nop.h"
 
 #define IORING_MAX_ENTRIES	32768
 #define IORING_MAX_CQ_ENTRIES	(2 * IORING_MAX_ENTRIES)
@@ -4298,20 +4299,6 @@ done:
 	return IOU_OK;
 }
 
-static int io_nop_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
-{
-	return 0;
-}
-
-/*
- * IORING_OP_NOP just posts a completion event, nothing else.
- */
-static int io_nop(struct io_kiocb *req, unsigned int issue_flags)
-{
-	io_req_set_res(req, 0, 0);
-	return IOU_OK;
-}
-
 static int io_msg_ring_prep(struct io_kiocb *req,
 			    const struct io_uring_sqe *sqe)
 {
diff --git a/io_uring/nop.c b/io_uring/nop.c
new file mode 100644
index 0000000000000..d363d8ce70a3b
--- /dev/null
+++ b/io_uring/nop.c
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <linux/kernel.h>
+#include <linux/errno.h>
+#include <linux/fs.h>
+#include <linux/file.h>
+#include <linux/io_uring.h>
+
+#include <uapi/linux/io_uring.h>
+
+#include "io_uring_types.h"
+#include "io_uring.h"
+#include "nop.h"
+
+int io_nop_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
+{
+	return 0;
+}
+
+/*
+ * IORING_OP_NOP just posts a completion event, nothing else.
+ */
+int io_nop(struct io_kiocb *req, unsigned int issue_flags)
+{
+	io_req_set_res(req, 0, 0);
+	return IOU_OK;
+}
diff --git a/io_uring/nop.h b/io_uring/nop.h
new file mode 100644
index 0000000000000..97f1535c9dec4
--- /dev/null
+++ b/io_uring/nop.h
@@ -0,0 +1,4 @@
+// SPDX-License-Identifier: GPL-2.0
+
+int io_nop_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);
+int io_nop(struct io_kiocb *req, unsigned int issue_flags);
-- 
GitLab