]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/io_uring: add io_uring_queue_init_params
authorPavel Begunkov <asml.silence@gmail.com>
Tue, 20 Jan 2026 21:11:44 +0000 (21:11 +0000)
committerJens Axboe <axboe@kernel.dk>
Wed, 21 Jan 2026 14:55:13 +0000 (07:55 -0700)
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>
tools/include/io_uring/mini_liburing.h

index 9ccb16074eb5e0a9ab981c0731d402a887ad4b6b..a55407b09dbbb0bfa0b4873f7a2eca4bab212bae 100644 (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)
 {