From: Hao Xu <howeyxu@xxxxxxxxxxx> Add a new setup flag to turn on/off uringlet mode. Signed-off-by: Hao Xu <howeyxu@xxxxxxxxxxx> --- include/uapi/linux/io_uring.h | 4 ++++ io_uring/io_uring.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h index 1463cfecb56b..68507c23b079 100644 --- a/include/uapi/linux/io_uring.h +++ b/include/uapi/linux/io_uring.h @@ -152,6 +152,10 @@ enum { * Only one task is allowed to submit requests */ #define IORING_SETUP_SINGLE_ISSUER (1U << 12) +/* + * uringlet mode + */ +#define IORING_SETUP_URINGLET (1U << 13) enum io_uring_op { IORING_OP_NOP, diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index ebfdb2212ec2..5e4f5b1684dd 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -3226,6 +3226,8 @@ static __cold int io_uring_create(unsigned entries, struct io_uring_params *p, struct file *file; int ret; + if (p->flags & IORING_SETUP_URINGLET) + return -EINVAL; if (!entries) return -EINVAL; if (entries > IORING_MAX_ENTRIES) { @@ -3400,7 +3402,7 @@ static long io_uring_setup(u32 entries, struct io_uring_params __user *params) IORING_SETUP_R_DISABLED | IORING_SETUP_SUBMIT_ALL | IORING_SETUP_COOP_TASKRUN | IORING_SETUP_TASKRUN_FLAG | IORING_SETUP_SQE128 | IORING_SETUP_CQE32 | - IORING_SETUP_SINGLE_ISSUER)) + IORING_SETUP_SINGLE_ISSUER | IORING_SETUP_URINGLET)) return -EINVAL; return io_uring_create(entries, &p, params); -- 2.25.1