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>
This commit is contained in:
Jens Axboe
2019-01-10 15:08:49 -07:00
parent d5b4ae1c58
commit fa863f6b4a
2 changed files with 12 additions and 10 deletions

View File

@@ -177,23 +177,26 @@ int main(int argc, char *argv[])
writes = reads = 0;
write_left = read_left;
while (read_left || write_left) {
/*
* Queue up as many reads as we can
*/
while (read_left) {
off_t this_size = read_left;
if (this_size > BS)
this_size = BS;
else if (!this_size)
goto skip_read;
break;
if (queue_read(infd, this_size, offset))
break;
/*
* Queue up as many reads as we can
*/
while (read_left && !queue_read(infd, this_size, offset)) {
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));

View File

@@ -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;