@@ -138,6 +138,7 @@ trim FITRIM ioctl
udf UDF functionality tests
union tests from the unionmount test suite
unlink O_TMPFILE unlinked files
+unreliable_in_parallel randomly fail when run in parallel with other tests
unshare fallocate FALLOC_FL_UNSHARE_RANGE
v2log XFS v2 log format tests
verity fsverity
@@ -9,8 +9,13 @@
# file F2 from directory B into directory C, fsync inode F1, power fail and
# remount the filesystem, file F2 exists and is located only in directory C.
#
+
+# unreliable_in_parallel: external sync operations can change what is synced to
+# the log before the flakey device drops writes. hence post-remount file
+# contents can be different to what the test expects.
+
. ./common/preamble
-_begin_fstest auto quick metadata log
+_begin_fstest auto quick metadata log unreliable_in_parallel
# Override the default cleanup function.
_cleanup()
@@ -7,8 +7,14 @@
# Dedup & random I/O race test, do multi-threads fsstress and dedupe on
# same directory/files
#
+
+# unreliable_in_parallel: duperemove is buggy. It can get stuck in endless
+# fiemap mapping loops, and this seems to happen a *lot* when the system is
+# under heavy load. when they do this, they don't die when they are supposed to
+# and so have to be manually killed to end the test.
+
. ./common/preamble
-_begin_fstest auto stress dedupe
+_begin_fstest auto stress dedupe unreliable_in_parallel
# Override the default cleanup function.
_cleanup()
@@ -21,9 +21,13 @@
# Regrettably, there is no way to poke /only/ XFS inode reclamation directly,
# so we're stuck with setting xfssyncd_centisecs to a low value and sleeping
# while watching the internal inode cache counters.
-#
+
+# unreliable_in_parallel: cache residency is affected by external drop caches
+# operations. Hence counting inodes "in cache" often does not reflect what the
+# test has actually done.
+
. ./common/preamble
-_begin_fstest auto ioctl
+_begin_fstest auto ioctl unreliable_in_parallel
_cleanup()
{
@@ -12,8 +12,12 @@
# - Wait for the reclaim to run.
# - Write more and see how bad fragmentation is.
#
+
+# unreliable_in_parallel: external sync operations affect what happens while
+# the test is waiting for COW expiration.
+
. ./common/preamble
-_begin_fstest auto quick clone fiemap prealloc
+_begin_fstest auto quick clone fiemap prealloc unreliable_in_parallel
# Override the default cleanup function.
_cleanup()
@@ -6,8 +6,14 @@
#
# Test AIO DIO CoW behavior when the write temporarily fails.
#
+
+# unreliable_in_parallel: external drop caches can co-incide with the error
+# table being loaded, so the test being run fails with EIO trying to load the
+# inode from disk instead of whatever operation it is supposed to fail on when
+# the inode is already cached in memory.
+
. ./common/preamble
-_begin_fstest auto quick clone eio
+_begin_fstest auto quick clone eio unreliable_in_parallel
# Override the default cleanup function.
_cleanup()
@@ -15,9 +15,12 @@
# 5. delalloc
# - CoW across the halfway mark, starting with the unwritten extent.
# - Check that the files are now different where we say they're different.
-#
+
+# unreliable_in_parallel: external sync can affect the layout of the files being
+# created, results in unreliable detection of delalloc extents.
+
. ./common/preamble
-_begin_fstest auto quick clone punch prealloc
+_begin_fstest auto quick clone punch prealloc unreliable_in_parallel
# Import common functions.
. ./common/filter
@@ -5,9 +5,13 @@
# FS QA Test No. 300
#
# Test xfs_fsr / exchangerange management of di_forkoff w/ selinux
-#
+
+# unreliable_in_parallel: file layout appears to be perturbed by load related
+# timing issues. Not 100% sure, but the backwards write does not reliably
+# fragment the source file under heavy external load
+
. ./common/preamble
-_begin_fstest auto fsr
+_begin_fstest auto fsr unreliable_in_parallel
# Import common functions.
. ./common/filter
@@ -8,8 +8,12 @@
# a file that has CoW reservations and no dirty pages. The reservations
# should shift over to the new owner, but they do not.
#
+
+# unreliable_in_parallel: external sync(1) and/or drop caches can reclaim inodes
+# and free post-eof space, resulting in lower than expected block counts.
+
. ./common/preamble
-_begin_fstest auto quick clone quota
+_begin_fstest auto quick clone quota unreliable_in_parallel
# Import common functions.
. ./common/reflink
@@ -14,8 +14,11 @@
# xfs: fix incorrect root dquot corruption error when switching group/project
# quota types
+# unreliable_in_parallel: dmesg check can pick up corruptions from other tests.
+# Need to filter corruption reports by short scratch dev name.
+
. ./common/preamble
-_begin_fstest auto quick quota
+_begin_fstest auto quick quota unreliable_in_parallel
# Import common functions.
. ./common/quota
@@ -7,8 +7,13 @@
# Post-EOF preallocation defeat test for direct I/O with extent size hints.
#
+# unreliable_in_parallel: external cache drops can result in the extent size
+# being truncated as the inode is evicted from cache between writes. This can
+# increase the number of extents significantly beyond what would be expected
+# from the extent size hint.
+
. ./common/preamble
-_begin_fstest auto quick prealloc rw
+_begin_fstest auto quick prealloc rw unreliable_in_parallel
. ./common/filter
@@ -8,8 +8,13 @@
# filesystem, and that we can read the health reports after the fact. IOWs,
# this is basic testing for the systemd background services.
#
+
+# unreliable_in_parallel: this appears to try to run scrub services on all
+# mounted filesystems - that's aproblem when there are a hundred other test
+# filesystems mounted running other tests...
+
. ./common/preamble
-_begin_fstest auto scrub
+_begin_fstest auto scrub unreliable_in_parallel
_cleanup()
{