selftests/io_uring: add io_uring_queue_init_params

Add a ring init variant taking struct io_uring_params, which mimicks
liburing API.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Pavel Begunkov
2026-01-20 21:11:44 +00:00
committed by Jens Axboe
parent 10dc959398
commit 73061dbeca

View File

@@ -126,21 +126,18 @@ static inline int io_uring_enter(int fd, unsigned int to_submit,
flags, sig, _NSIG / 8);
}
static inline int io_uring_queue_init(unsigned int entries,
struct io_uring *ring,
unsigned int flags)
static inline int io_uring_queue_init_params(unsigned int entries,
struct io_uring *ring,
struct io_uring_params *p)
{
struct io_uring_params p;
int fd, ret;
memset(ring, 0, sizeof(*ring));
memset(&p, 0, sizeof(p));
p.flags = flags;
fd = io_uring_setup(entries, &p);
fd = io_uring_setup(entries, p);
if (fd < 0)
return fd;
ret = io_uring_mmap(fd, &p, &ring->sq, &ring->cq);
ret = io_uring_mmap(fd, p, &ring->sq, &ring->cq);
if (!ret)
ring->ring_fd = fd;
else
@@ -148,6 +145,18 @@ static inline int io_uring_queue_init(unsigned int entries,
return ret;
}
static inline int io_uring_queue_init(unsigned int entries,
struct io_uring *ring,
unsigned int flags)
{
struct io_uring_params p;
memset(&p, 0, sizeof(p));
p.flags = flags;
return io_uring_queue_init_params(entries, ring, &p);
}
/* Get a sqe */
static inline struct io_uring_sqe *io_uring_get_sqe(struct io_uring *ring)
{