History

io_uring: add feature flag for rsrc tags

Add IORING_FEAT_RSRC_TAGS indicating that io_uring supports a bunch of new IORING_REGISTER operations, in particular IORING_REGISTER_[FILES[,UPDATE]2,BUFFERS[2,UPDATE]] that support rsrc tagging, and also indicating implemented dynamic fixed buffer updates.

Pavel Begunkov committed 5 years ago

Commit 96905571 parent 992da012 files · +3 −1Browse files

Unified · Split

2 files
  1. fs/io_uring.c +2 −1
  2. include/uapi/linux/io_uring.h +1 −0
fs/io_uring.c+2−1
@@ -9676,7 +9676,8 @@ static int io_uring_create(unsigned entries, struct io_uring_params *p, · 9675 unmodified lines
9676 IORING_FEAT_SUBMIT_STABLE | IORING_FEAT_RW_CUR_POS |9676 IORING_FEAT_SUBMIT_STABLE | IORING_FEAT_RW_CUR_POS |
9677 IORING_FEAT_CUR_PERSONALITY | IORING_FEAT_FAST_POLL |9677 IORING_FEAT_CUR_PERSONALITY | IORING_FEAT_FAST_POLL |
9678 IORING_FEAT_POLL_32BITS | IORING_FEAT_SQPOLL_NONFIXED |9678 IORING_FEAT_POLL_32BITS | IORING_FEAT_SQPOLL_NONFIXED |
9679 IORING_FEAT_EXT_ARG | IORING_FEAT_NATIVE_WORKERS;9679 IORING_FEAT_EXT_ARG | IORING_FEAT_NATIVE_WORKERS |
9680 IORING_FEAT_RSRC_TAGS;
9680 9681
9681 if (copy_to_user(params, p, sizeof(*p))) {9682 if (copy_to_user(params, p, sizeof(*p))) {
9682 ret = -EFAULT;9683 ret = -EFAULT;
include/uapi/linux/io_uring.h+1−0
@@ -280,6 +280,7 @@ struct io_uring_params { · 279 unmodified lines
280#define IORING_FEAT_SQPOLL_NONFIXED (1U << 7)280#define IORING_FEAT_SQPOLL_NONFIXED (1U << 7)
281#define IORING_FEAT_EXT_ARG (1U << 8)281#define IORING_FEAT_EXT_ARG (1U << 8)
282#define IORING_FEAT_NATIVE_WORKERS (1U << 9)282#define IORING_FEAT_NATIVE_WORKERS (1U << 9)
283#define IORING_FEAT_RSRC_TAGS (1U << 10)
283 284
284/*285/*
285 * io_uring_register(2) opcodes and arguments286 * io_uring_register(2) opcodes and arguments