summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2019-01-10 15:08:49 -0700
committerJens Axboe <axboe@kernel.dk>2019-01-10 15:08:49 -0700
commitfa863f6b4ad73c6bea2cabbd50803af78895e1d5 (patch)
tree79662e97a3b0b32b8da41e018ce0c6124eead1f2
parentd5b4ae1c58f49d3d665faadd0e2eddcef9aadc68 (diff)
downloadliburing-fa863f6b4ad73c6bea2cabbd50803af78895e1d5.tar.gz
liburing-fa863f6b4ad73c6bea2cabbd50803af78895e1d5.tar.bz2
Fix test cases
- Don't use polled IO for the io_uring-test, that'll fail if the fs/device doesn't suppor it - copy read-in was broken for io_uring-cp Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--test/io_uring-cp.c19
-rw-r--r--test/io_uring-test.c3
2 files changed, 12 insertions, 10 deletions
diff --git a/test/io_uring-cp.c b/test/io_uring-cp.c
index 0fbd1d3..3850743 100644
--- a/test/io_uring-cp.c
+++ b/test/io_uring-cp.c
@@ -177,23 +177,26 @@ int main(int argc, char *argv[])
writes = reads = 0;
write_left = read_left;
while (read_left || write_left) {
- off_t this_size = read_left;
-
- if (this_size > BS)
- this_size = BS;
- else if (!this_size)
- goto skip_read;
/*
* Queue up as many reads as we can
*/
- while (read_left && !queue_read(infd, this_size, offset)) {
+ while (read_left) {
+ off_t this_size = read_left;
+
+ if (this_size > BS)
+ this_size = BS;
+ else if (!this_size)
+ break;
+
+ if (queue_read(infd, this_size, offset))
+ break;
+
read_left -= this_size;
offset += this_size;
reads++;
}
-skip_read:
ret = io_uring_submit(&in_ring);
if (ret < 0) {
fprintf(stderr, "io_uring_submit: %s\n", strerror(-ret));
diff --git a/test/io_uring-test.c b/test/io_uring-test.c
index 4bd0892..a13e405 100644
--- a/test/io_uring-test.c
+++ b/test/io_uring-test.c
@@ -30,7 +30,6 @@ int main(int argc, char *argv[])
}
memset(&p, 0, sizeof(p));
- p.flags = IORING_SETUP_IOPOLL;
ret = io_uring_queue_init(QD, &p, &ring);
if (ret < 0) {
@@ -78,7 +77,7 @@ int main(int argc, char *argv[])
done = 0;
pending = ret;
for (i = 0; i < pending; i++) {
- ret = io_uring_get_completion(&ring, &cqe);
+ ret = io_uring_wait_completion(&ring, &cqe);
if (ret < 0) {
fprintf(stderr, "io_uring_get_completion: %s\n", strerror(-ret));
return 1;