[PATCH 0/3] fstests: fix io_uring testing

Zorro Lang
2024-03-06T09:19:38Z

According to the manual of io_uring_queue_init, it doesn't set errno
but return the -errno on failure. So we should check the return value
of io_uring_queue_init, to make sure if the io_uring is supported by
kernel. We've left this problem in xfstests/ltp/fsstress.c long time.
(Refer to PATCH 1/3)

And besides kernel build without CONFIG_IO_URING, a system can disable
the io_uring supporting manually, by set sysctl kernel.io_uring_disabled=2.
The former cause io_uring_queue_init return ENOSYS, but the latter will
return EPERM. So I let fsstress to deal with both situations.
(Refer to PATCH 2/3)

A question is if we should do "sysctl -w kernel.io_uring_disabled=0 &> /dev/null"
at the beginning of each test case (e.g. do that in common/config ?), or leave
this decision to the testers (in their test wrapper). Now I only do that
in _require_io_uring(). If anyone has any opinions, feel free to reply.
(Refer to PATCH 3/3)

Thanks,
Zorro