Commit 73061dbe authored by Pavel Begunkov's avatar Pavel Begunkov Committed by Jens Axboe
Browse files

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: default avatarPavel Begunkov <asml.silence@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 10dc9593
Loading
Loading
Loading
Loading
+17 −8
Original line number Diff line number Diff line
@@ -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,
static inline int io_uring_queue_init_params(unsigned int entries,
					     struct io_uring *ring,
				      unsigned int flags)
					     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)
{