diff options
author | thegeorg <[email protected]> | 2023-07-26 17:26:21 +0300 |
---|---|---|
committer | thegeorg <[email protected]> | 2023-07-26 17:26:21 +0300 |
commit | 3785d5f97965bccf048718d8717904cf50f9f8f9 (patch) | |
tree | b7ce8ae67d7eb7fcf7767c54379f0564c281147f /contrib/libs/liburing/test/ringbuf-read.c | |
parent | 1f6b57071583f89299bb5abd3863d594f23c5be5 (diff) |
Update contrib/libs/liburing to 2.4
Diffstat (limited to 'contrib/libs/liburing/test/ringbuf-read.c')
-rw-r--r-- | contrib/libs/liburing/test/ringbuf-read.c | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/contrib/libs/liburing/test/ringbuf-read.c b/contrib/libs/liburing/test/ringbuf-read.c index 2eede182130..5ff6738b048 100644 --- a/contrib/libs/liburing/test/ringbuf-read.c +++ b/contrib/libs/liburing/test/ringbuf-read.c @@ -38,7 +38,6 @@ static int verify_buffer(char *buf, char val) static int test(const char *filename, int dio, int async) { - struct io_uring_buf_reg reg = { }; struct io_uring_sqe *sqe; struct io_uring_cqe *cqe; struct io_uring ring; @@ -53,10 +52,13 @@ static int test(const char *filename, int dio, int async) return 1; } - if (dio) + if (dio) { fd = open(filename, O_DIRECT | O_RDONLY); - else + if (fd < 0 && errno == EINVAL) + return T_EXIT_SKIP; + } else { fd = open(filename, O_RDONLY); + } if (fd < 0) { perror("open"); return 1; @@ -66,15 +68,9 @@ static int test(const char *filename, int dio, int async) if (posix_memalign((void **) &buf, 4096, FSIZE)) return 1; - if (posix_memalign((void **) &br, 4096, 4096)) - return 1; - - reg.ring_addr = (unsigned long) br; - reg.ring_entries = NR_BUFS; - reg.bgid = 1; - ret = io_uring_register_buf_ring(&ring, ®, 0); - if (ret) { + br = io_uring_setup_buf_ring(&ring, NR_BUFS, 1, 0, &ret); + if (!br) { if (ret == -EINVAL) { no_buf_ring = 1; return 0; @@ -164,7 +160,7 @@ int main(int argc, char *argv[]) close(fd); ret = test(fname, 1, 0); - if (ret) { + if (ret == T_EXIT_FAIL) { fprintf(stderr, "dio test failed\n"); goto err; } @@ -178,13 +174,13 @@ int main(int argc, char *argv[]) } ret = test(fname, 1, 1); - if (ret) { + if (ret == T_EXIT_FAIL) { fprintf(stderr, "dio async test failed\n"); goto err; } ret = test(fname, 0, 1); - if (ret) { + if (ret == T_EXIT_FAIL) { fprintf(stderr, "buffered async test failed\n"); goto err; } |