linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Theodore Ts'o" <tytso@mit.edu>
To: fstests@vger.kernel.org
Cc: Linux Filesystem Development List <linux-fsdevel@vger.kernel.org>,
	"Theodore Ts'o" <tytso@mit.edu>
Subject: [PATCH 1/2] generic/269, generic/475: disable io_uring to prevent umount EBUSY flakes
Date: Thu, 13 Jun 2024 18:18:09 -0400	[thread overview]
Message-ID: <20240613221810.803463-1-tytso@mit.edu> (raw)
In-Reply-To: <20240613215639.GE1906022@mit.edu>

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(+)

diff --git a/tests/generic/269 b/tests/generic/269
index 29f453735..9be7ea9aa 100755
--- a/tests/generic/269
+++ b/tests/generic/269
@@ -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 ""
diff --git a/tests/generic/475 b/tests/generic/475
index abd6e89a1..3e9200771 100755
--- a/tests/generic/475
+++ b/tests/generic/475
@@ -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
-- 
2.43.0


  reply	other threads:[~2024-06-13 22:18 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-12 16:29 Flaky test: generic:269 (EBUSY on umount) Theodore Ts'o
2024-06-12 19:41 ` Darrick J. Wong
2024-06-13 21:56   ` Theodore Ts'o
2024-06-13 22:18     ` Theodore Ts'o [this message]
2024-06-13 22:18       ` [PATCH 2/2] generic: new test which tests for an io_uring bug that causes umounts to fail Theodore Ts'o
2024-06-14  4:16     ` Flaky test: generic:269 (EBUSY on umount) Darrick J. Wong
2024-06-14 18:27       ` Theodore Ts'o
2024-06-14 20:44         ` Darrick J. Wong
2024-07-12  2:30           ` Theodore Ts'o
2024-08-23  1:16             ` Darrick J. Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240613221810.803463-1-tytso@mit.edu \
    --to=tytso@mit.edu \
    --cc=fstests@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).