diff options
| author | Pavel Begunkov <asml.silence@gmail.com> | 2025-11-10 13:03:53 +0000 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2025-11-10 14:59:35 -0700 |
| commit | 6a77267d97b5b6cd0e35099ab4eb054e5f965ee6 (patch) | |
| tree | 195cc317941a22c42285332637222066401b1ae7 | |
| parent | d3c9c213c0b86ac5dd8fe2c53c24db20f1f510bc (diff) | |
| download | linux-6a77267d97b5b6cd0e35099ab4eb054e5f965ee6.tar.gz | |
io_uring/query: return number of available queries
It's useful to know which query opcodes are available. Extend the
structure and return that. It's a trivial change, and even though it can
be painlessly extended later, it'd still require adding a v2 of the
structure.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
| -rw-r--r-- | include/uapi/linux/io_uring/query.h | 3 | ||||
| -rw-r--r-- | io_uring/query.c | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/uapi/linux/io_uring/query.h b/include/uapi/linux/io_uring/query.h index 5d754322a27c80..3539ccbfd0644c 100644 --- a/include/uapi/linux/io_uring/query.h +++ b/include/uapi/linux/io_uring/query.h @@ -36,6 +36,9 @@ struct io_uring_query_opcode { __u64 enter_flags; /* Bitmask of all supported IOSQE_* flags */ __u64 sqe_flags; + /* The number of available query opcodes */ + __u32 nr_query_opcodes; + __u32 __pad; }; #endif diff --git a/io_uring/query.c b/io_uring/query.c index 645301bd2c8293..cf02893ba911b6 100644 --- a/io_uring/query.c +++ b/io_uring/query.c @@ -20,6 +20,8 @@ static ssize_t io_query_ops(void *data) e->ring_setup_flags = IORING_SETUP_FLAGS; e->enter_flags = IORING_ENTER_FLAGS; e->sqe_flags = SQE_VALID_FLAGS; + e->nr_query_opcodes = __IO_URING_QUERY_MAX; + e->__pad = 0; return sizeof(*e); } |
