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.
Unified · Split
| @@ -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; |
| @@ -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 arguments | 286 | * io_uring_register(2) opcodes and arguments |