t/io_uring: verbose error for -95/-EOPNOTSUPP failure
[fio.git] / t / io_uring.c
index da3b4d1f4a8f16bfb23ed3c37ac9a33699ffcf1a..7c75c887eb4f511616dfdba9fa48068e23832dd7 100644 (file)
@@ -129,7 +129,7 @@ static int io_uring_enter(struct submitter *s, unsigned int to_submit,
                          unsigned int min_complete, unsigned int flags)
 {
        return syscall(__NR_sys_io_uring_enter, s->ring_fd, to_submit,
-                       min_complete, flags);
+                       min_complete, flags, NULL, 0);
 }
 
 static int gettid(void)
@@ -262,6 +262,8 @@ static int reap_events(struct submitter *s)
                        f->pending_ios--;
                        if (cqe->res != BS) {
                                printf("io: unexpected ret=%d\n", cqe->res);
+                               if (polled && cqe->res == -EOPNOTSUPP)
+                                       printf("Your filesystem doesn't support poll\n");
                                return -1;
                        }
                }
@@ -315,6 +317,8 @@ submit:
 
                        if (to_wait)
                                flags = IORING_ENTER_GETEVENTS;
+                       if ((*ring->flags & IORING_SQ_NEED_WAKEUP))
+                               flags |= IORING_ENTER_SQ_WAKEUP;
                        ret = io_uring_enter(s, to_submit, to_wait, flags);
                        s->calls++;
                }