io_uring: move a few private types to local headers
authorJens Axboe <axboe@kernel.dk>
Sun, 19 Jun 2022 01:44:33 +0000 (19:44 -0600)
committerJens Axboe <axboe@kernel.dk>
Mon, 25 Jul 2022 00:39:14 +0000 (18:39 -0600)
Commit 3a3d47fa9cfd ("io_uring: make io_uring_types.h public") moved
a bunch of io_uring types to a kernel wide header, so we could make
tracing a bit saner rather than pass in a ton of arguments.

However, there are a few types in there that are not really needed to
be system wide. Move the cancel data and mapped buffers back to the
appropriate io_uring local headers.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/io_uring_types.h
io_uring/cancel.h
io_uring/fdinfo.c
io_uring/poll.h
io_uring/rsrc.h
io_uring/timeout.h

index 779c72d..2015f3e 100644 (file)
@@ -528,27 +528,9 @@ struct io_kiocb {
        struct io_wq_work               work;
 };
 
-struct io_cancel_data {
-       struct io_ring_ctx *ctx;
-       union {
-               u64 data;
-               struct file *file;
-       };
-       u32 flags;
-       int seq;
-};
-
 struct io_overflow_cqe {
        struct list_head list;
        struct io_uring_cqe cqe;
 };
 
-struct io_mapped_ubuf {
-       u64             ubuf;
-       u64             ubuf_end;
-       unsigned int    nr_bvecs;
-       unsigned long   acct_pages;
-       struct bio_vec  bvec[];
-};
-
 #endif
index 8dd259d..2338012 100644 (file)
@@ -1,5 +1,18 @@
 // SPDX-License-Identifier: GPL-2.0
 
+#include <linux/io_uring_types.h>
+
+struct io_cancel_data {
+       struct io_ring_ctx *ctx;
+       union {
+               u64 data;
+               struct file *file;
+       };
+       u32 flags;
+       int seq;
+};
+
+
 int io_async_cancel_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);
 int io_async_cancel(struct io_kiocb *req, unsigned int issue_flags);
 
index 61c3570..b29e2d0 100644 (file)
@@ -13,6 +13,7 @@
 #include "sqpoll.h"
 #include "fdinfo.h"
 #include "cancel.h"
+#include "rsrc.h"
 
 #ifdef CONFIG_PROC_FS
 static __cold int io_uring_show_cred(struct seq_file *m, unsigned int id,
index fa3e197..c40673d 100644 (file)
@@ -24,6 +24,7 @@ int io_poll_add(struct io_kiocb *req, unsigned int issue_flags);
 int io_poll_remove_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);
 int io_poll_remove(struct io_kiocb *req, unsigned int issue_flags);
 
+struct io_cancel_data;
 int io_poll_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd,
                   unsigned issue_flags);
 int io_arm_poll_handler(struct io_kiocb *req, unsigned issue_flags);
index 872c863..03f2651 100644 (file)
@@ -45,6 +45,14 @@ struct io_rsrc_node {
        bool                            done;
 };
 
+struct io_mapped_ubuf {
+       u64             ubuf;
+       u64             ubuf_end;
+       unsigned int    nr_bvecs;
+       unsigned long   acct_pages;
+       struct bio_vec  bvec[];
+};
+
 void io_rsrc_put_work(struct work_struct *work);
 void io_rsrc_refs_refill(struct io_ring_ctx *ctx);
 void io_wait_rsrc_data(struct io_rsrc_data *data);
index dd7cfb0..858c626 100644 (file)
@@ -22,6 +22,7 @@ static inline struct io_kiocb *io_disarm_linked_timeout(struct io_kiocb *req)
 }
 
 __cold void io_flush_timeouts(struct io_ring_ctx *ctx);
+struct io_cancel_data;
 int io_timeout_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd);
 __cold bool io_kill_timeouts(struct io_ring_ctx *ctx, struct task_struct *tsk,
                             bool cancel_all);