On 5/17/21 8:22 PM, Drew DeVault wrote: > This signals that the kernel supports IORING_REGISTER_FILES_SKIP. #define IORING_FEAT_FILES_SKIP IORING_FEAT_NATIVE_WORKERS Maybe even solely in liburing. Any reason to have them separately? We keep compatibility anyway > Signed-off-by: Drew DeVault <sir@xxxxxxxxx> > --- > fs/io_uring.c | 3 ++- > include/uapi/linux/io_uring.h | 1 + > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/fs/io_uring.c b/fs/io_uring.c > index e481ac8a757a..6338c4892cd2 100644 > --- a/fs/io_uring.c > +++ b/fs/io_uring.c > @@ -9659,7 +9659,8 @@ static int io_uring_create(unsigned entries, struct io_uring_params *p, > IORING_FEAT_SUBMIT_STABLE | IORING_FEAT_RW_CUR_POS | > IORING_FEAT_CUR_PERSONALITY | IORING_FEAT_FAST_POLL | > IORING_FEAT_POLL_32BITS | IORING_FEAT_SQPOLL_NONFIXED | > - IORING_FEAT_EXT_ARG | IORING_FEAT_NATIVE_WORKERS; > + IORING_FEAT_EXT_ARG | IORING_FEAT_NATIVE_WORKERS | > + IORING_FEAT_FILES_SKIP; > > if (copy_to_user(params, p, sizeof(*p))) { > ret = -EFAULT; > diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h > index e1ae46683301..1b0887ab4d07 100644 > --- a/include/uapi/linux/io_uring.h > +++ b/include/uapi/linux/io_uring.h > @@ -280,6 +280,7 @@ struct io_uring_params { > #define IORING_FEAT_SQPOLL_NONFIXED (1U << 7) > #define IORING_FEAT_EXT_ARG (1U << 8) > #define IORING_FEAT_NATIVE_WORKERS (1U << 9) > +#define IORING_FEAT_FILES_SKIP (1U << 10) > > /* > * io_uring_register(2) opcodes and arguments > -- Pavel Begunkov