diff options
-rw-r--r-- | src/io_uring.c | 11 | ||||
-rw-r--r-- | src/liburing.h | 4 | ||||
-rw-r--r-- | test/io_uring-cp.c | 5 | ||||
-rw-r--r-- | test/io_uring-test.c | 5 |
4 files changed, 11 insertions, 14 deletions
diff --git a/src/io_uring.c b/src/io_uring.c index bf79b9f..a75d135 100644 --- a/src/io_uring.c +++ b/src/io_uring.c @@ -188,17 +188,20 @@ err: * Returns -1 on error, or zero on success. On success, 'ring' * contains the necessary information to read/write to the rings. */ -int io_uring_queue_init(unsigned entries, struct io_uring_params *p, - struct io_uring *ring) +int io_uring_queue_init(unsigned entries, struct io_uring *ring, unsigned flags) { + struct io_uring_params p; int fd, ret; - fd = io_uring_setup(entries, p); + memset(&p, 0, sizeof(p)); + p.flags = flags; + + fd = io_uring_setup(entries, &p); if (fd < 0) return fd; memset(ring, 0, sizeof(*ring)); - 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; return ret; diff --git a/src/liburing.h b/src/liburing.h index 4123ba1..fb07583 100644 --- a/src/liburing.h +++ b/src/liburing.h @@ -51,8 +51,8 @@ extern int io_uring_register(int fd, unsigned int opcode, void *arg); /* * Library interface */ -extern int io_uring_queue_init(unsigned entries, struct io_uring_params *p, - struct io_uring *ring); +extern int io_uring_queue_init(unsigned entries, struct io_uring *ring, + unsigned flags); extern void io_uring_queue_exit(struct io_uring *ring); extern int io_uring_get_completion(struct io_uring *ring, struct io_uring_cqe **cqe_ptr); diff --git a/test/io_uring-cp.c b/test/io_uring-cp.c index 3850743..a588cc2 100644 --- a/test/io_uring-cp.c +++ b/test/io_uring-cp.c @@ -25,12 +25,9 @@ struct io_data { static int setup_context(unsigned entries, struct io_uring *ring) { - struct io_uring_params p; int ret; - memset(&p, 0, sizeof(p)); - - ret = io_uring_queue_init(entries, &p, ring); + ret = io_uring_queue_init(entries, ring, 0); if (ret < 0) { fprintf(stderr, "queue_init: %s\n", strerror(-ret)); return -1; diff --git a/test/io_uring-test.c b/test/io_uring-test.c index a13e405..42a8745 100644 --- a/test/io_uring-test.c +++ b/test/io_uring-test.c @@ -15,7 +15,6 @@ int main(int argc, char *argv[]) { - struct io_uring_params p; struct io_uring ring; int i, fd, ret, pending, done; struct io_uring_sqe *sqe; @@ -29,9 +28,7 @@ int main(int argc, char *argv[]) return 1; } - memset(&p, 0, sizeof(p)); - - ret = io_uring_queue_init(QD, &p, &ring); + ret = io_uring_queue_init(QD, &ring, 0); if (ret < 0) { fprintf(stderr, "queue_init: %s\n", strerror(-ret)); return 1; |