@@ -13,6 +13,9 @@ _begin_fstest auto rw prealloc ioctl enospc stress
. ./common/filter
# Disable all sync operations to get higher load
FSSTRESS_AVOID="$FSSTRESS_AVOID -ffsync=0 -fsync=0 -ffdatasync=0"
+# io_uring is buggy and causes "fsstress; umount" EBUSY test flakes
+FSSTRESS_AVOID="$FSSTRESS_AVOID -f uring_read=0 -f uring_write=0"
+
_workout()
{
echo ""
@@ -45,6 +45,9 @@ _require_metadata_journaling $SCRATCH_DEV
_dmerror_init
_dmerror_mount
+# io_uring is buggy and causes "fsstress; umount" EBUSY test flakes
+FSSTRESS_AVOID="$FSSTRESS_AVOID -f uring_read=0 -f uring_write=0"
+
while _soak_loop_running $((50 * TIME_FACTOR)); do
($FSSTRESS_PROG $FSSTRESS_AVOID -d $SCRATCH_MNT -n 999999 -p $((LOAD_FACTOR * 4)) >> $seqres.full &) \
> /dev/null 2>&1
There is an I/O uring bug which can hold on to file references after the userspace program exits. This is causing tests which run fsstress and then try to unmount the file system to fail in a flaky fashion. Since the point of these tests is not to test io_uring, and io_uring has remained buggy since August 2023, let's fix the problem by disabling io_uring in fsstress for these tests. We can add a new test which specifically (and reliably) tests for this io_uring bug. See the link below for more details. Link: https://lore.kernel.org/fstests/20230831151837.qexyqjgvrllqaz26@zlang-mailbox/ Signed-off-by: Theodore Ts'o <tytso@mit.edu> --- tests/generic/269 | 3 +++ tests/generic/475 | 3 +++ 2 files changed, 6 insertions(+)