This is a file private handler, similar to ioctls but hopefully a lot more sane and useful. Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> --- fs/io_uring.c | 5 ----- include/linux/fs.h | 11 +++++++++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/fs/io_uring.c b/fs/io_uring.c index a4699b066172..fecf10e0625f 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -188,11 +188,6 @@ struct io_rings { struct io_uring_cqe cqes[] ____cacheline_aligned_in_smp; }; -enum io_uring_cmd_flags { - IO_URING_F_NONBLOCK = 1, - IO_URING_F_COMPLETE_DEFER = 2, -}; - struct io_mapped_ubuf { u64 ubuf; size_t len; diff --git a/include/linux/fs.h b/include/linux/fs.h index ec8f3ddf4a6a..009abc668987 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1884,6 +1884,15 @@ struct dir_context { #define REMAP_FILE_ADVISORY (REMAP_FILE_CAN_SHORTEN) struct iov_iter; +struct io_uring_cmd; + +/* + * f_op->uring_cmd() issue flags + */ +enum io_uring_cmd_flags { + IO_URING_F_NONBLOCK = 1, + IO_URING_F_COMPLETE_DEFER = 2, +}; struct file_operations { struct module *owner; @@ -1925,6 +1934,8 @@ struct file_operations { struct file *file_out, loff_t pos_out, loff_t len, unsigned int remap_flags); int (*fadvise)(struct file *, loff_t, loff_t, int); + + int (*uring_cmd)(struct io_uring_cmd *, enum io_uring_cmd_flags); } __randomize_layout; struct inode_operations { -- 2.31.0