From: Guillem Jover Date: Sat, 20 Jul 2019 19:21:02 +0000 (+0200) Subject: [PATCH libaio 23/28] harness: Handle -ENOTSUP from io_submit() with RWF_NOWAIT X-Git-Tag: archive/raspbian/0.3.112-13+rpi1~23 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=3a5d405a30d2c11dd7d29cd4e664959e0b9d6fd5;p=libaio.git [PATCH libaio 23/28] harness: Handle -ENOTSUP from io_submit() with RWF_NOWAIT On filesystems such as tmpfs the syscall might return -ENOTSUP instead of EINVAL when it does not support the RWF_NOWAIT flag. Signed-off-by: Guillem Jover [JEM: skip the test instead of returning success] [JEM: make the error message differentiate between kernel and fs support] Signed-off-by: Jeff Moyer Gbp-Pq: Topic upstream Gbp-Pq: Name 0023-harness-Handle-ENOTSUP-from-io_submit-with-RWF_NOWAI.patch --- diff --git a/harness/cases/21.t b/harness/cases/21.t index ba988ed..4164c02 100644 --- a/harness/cases/21.t +++ b/harness/cases/21.t @@ -108,13 +108,15 @@ test_main() ret = io_submit(ctx, 1, &iocbp); /* - * io_submit will return -EINVAL if RWF_NOWAIT is not supported. + * io_submit will return -EINVAL if RWF_NOWAIT is not supported by + * the kernel, and EOPNOTSUPP if it's not supported by the fs. */ if (ret != 1) { - if (ret == -EINVAL) { - fprintf(stderr, "RWF_NOWAIT not supported by kernel.\n"); - /* just return success */ - return 0; + if (ret == -EINVAL || ret == -ENOTSUP) { + fprintf(stderr, "RWF_NOWAIT not supported by %s.\n", + ret == -EINVAL ? "kernel" : "file system"); + /* skip this test */ + return 3; } errno = -ret; perror("io_submit");