Linux XFS filesystem development
 help / color / mirror / Atom feed
* [PATCH] formalize and fix disabling the RT subvolume
@ 2026-06-30 11:35 Christoph Hellwig
  2026-06-30 18:40 ` Darrick J. Wong
  0 siblings, 1 reply; 6+ messages in thread
From: Christoph Hellwig @ 2026-06-30 11:35 UTC (permalink / raw)
  To: zlang; +Cc: djwong, fstests, linux-xfs

Various test unset SCRATCH_RTDEV to avoid dealing with metadata
allocations for the RT subvolume in the main device or differences
in RT subvolume behavior.  Besides being rather ad-hoc, this unset
also fails to disable the internal RT zoned subvolume.

Add a _disable_scratch_realtime helper that not only unsets
SCRATCH_RTDEV, but also disables the zoned allocator and with
that the internal RT subvolume.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 common/filestreams | 2 +-
 common/rc          | 9 +++++++++
 tests/generic/250  | 2 +-
 tests/generic/252  | 2 +-
 tests/generic/441  | 2 +-
 tests/generic/484  | 2 +-
 tests/generic/487  | 2 +-
 tests/xfs/076      | 2 +-
 tests/xfs/189      | 2 +-
 tests/xfs/205      | 2 +-
 tests/xfs/306      | 2 +-
 tests/xfs/444      | 2 +-
 tests/xfs/445      | 2 +-
 tests/xfs/655      | 2 +-
 tests/xfs/656      | 2 +-
 15 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/common/filestreams b/common/filestreams
index 838b5921520a..459de8c6b6a6 100644
--- a/common/filestreams
+++ b/common/filestreams
@@ -84,7 +84,7 @@ _test_streams() {
 	# Disable the scratch rt device to avoid test failures relating to the
 	# rt bitmap consuming free space in our small data device and throwing
 	# off the filestreams allocator.
-	unset SCRATCH_RTDEV
+	_disable_scratch_realtime
 
 	# Skip these tests on zoned file systems as filestreams don't work
 	# with the zoned allocator, and the operation below would force it into
diff --git a/common/rc b/common/rc
index 4947255479ca..d8d4d5292f8c 100644
--- a/common/rc
+++ b/common/rc
@@ -2435,6 +2435,15 @@ _require_no_realtime()
 		_notrun "Test not compatible with realtime subvolumes, skipped this test"
 }
 
+# Disable usage of internal or external scratch devices
+_disable_scratch_realtime()
+{
+	unset SCRATCH_RTDEV
+	if [ "$FSTYP" = "xfs" ]; then
+		MKFS_OPTIONS="${MKFS_OPTIONS//-r zoned=1}"
+	fi
+}
+
 # this test requires that a specified command (executable) exists
 # $1 - command, $2 - name for error message
 #
diff --git a/tests/generic/250 b/tests/generic/250
index 605d7c8ade3d..32326114798c 100755
--- a/tests/generic/250
+++ b/tests/generic/250
@@ -29,7 +29,7 @@ _require_odirect
 
 # Disable the scratch rt device to avoid test failures relating to the rt
 # bitmap consuming all the free space in our small data device.
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 
 fssize=$((196 * 1048576))
 echo "Format and mount"
diff --git a/tests/generic/252 b/tests/generic/252
index 2ad0524c2037..2e462b61fce4 100755
--- a/tests/generic/252
+++ b/tests/generic/252
@@ -30,7 +30,7 @@ AIO_TEST="$here/src/aio-dio-regress/aiocp"
 
 # Disable the scratch rt device to avoid test failures relating to the rt
 # bitmap consuming all the free space in our small data device.
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 
 fssize=$((196 * 1048576))
 echo "Format and mount"
diff --git a/tests/generic/441 b/tests/generic/441
index cc370bea5052..c3a096926eaf 100755
--- a/tests/generic/441
+++ b/tests/generic/441
@@ -47,7 +47,7 @@ _require_test_program dmerror
 
 # Disable the scratch rt device to avoid test failures relating to the rt
 # bitmap consuming all the free space in our small data device.
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 
 echo "Format and mount"
 _scratch_mkfs > $seqres.full 2>&1
diff --git a/tests/generic/484 b/tests/generic/484
index 0455efcb6000..e2fea8c6b18d 100755
--- a/tests/generic/484
+++ b/tests/generic/484
@@ -35,7 +35,7 @@ _require_xfs_io_command "syncfs"
 
 # Disable the scratch rt device to avoid test failures relating to the rt
 # bitmap consuming all the free space in our small data device.
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 
 echo "Format and mount"
 _scratch_mkfs > $seqres.full 2>&1
diff --git a/tests/generic/487 b/tests/generic/487
index 364f7eb4c032..cc6c8f0e63d9 100755
--- a/tests/generic/487
+++ b/tests/generic/487
@@ -40,7 +40,7 @@ _require_dm_target error
 
 # Disable the scratch rt device to avoid test failures relating to the rt
 # bitmap consuming all the free space in our small data device.
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 
 echo "Format and mount"
 _scratch_mkfs > $seqres.full 2>&1
diff --git a/tests/xfs/076 b/tests/xfs/076
index 2ea6459b0dbe..103ad7509e0f 100755
--- a/tests/xfs/076
+++ b/tests/xfs/076
@@ -66,7 +66,7 @@ _require_xfs_sparse_inodes
 
 # Disable the scratch rt device to avoid test failures relating to the rt
 # bitmap consuming all the free space in our small data device.
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 
 _scratch_mkfs "-d size=96m -m crc=1 -i sparse" | tee -a $seqres.full | \
 	_filter_mkfs > /dev/null 2> $tmp.mkfs
diff --git a/tests/xfs/189 b/tests/xfs/189
index 1770023760fd..aa9712afac35 100755
--- a/tests/xfs/189
+++ b/tests/xfs/189
@@ -250,7 +250,7 @@ _require_no_realtime
 _require_scratch
 _require_noattr2
 
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 unset SCRATCH_LOGDEV
 
 _scratch_mkfs_xfs | _filter_mkfs 2>/dev/null
diff --git a/tests/xfs/205 b/tests/xfs/205
index 73d51d8d602f..7d8c0e5e33dc 100755
--- a/tests/xfs/205
+++ b/tests/xfs/205
@@ -18,7 +18,7 @@ _require_scratch_nocheck
 
 # Disable the scratch rt device to avoid test failures relating to the rt
 # bitmap consuming all the free space in our small data device.
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 
 fsblksz=1024
 _scratch_mkfs_xfs -d size=$((32768*fsblksz)) -b size=$fsblksz >> $seqres.full 2>&1
diff --git a/tests/xfs/306 b/tests/xfs/306
index d48b753632d5..60c2b486f671 100755
--- a/tests/xfs/306
+++ b/tests/xfs/306
@@ -26,7 +26,7 @@ _require_test_program "punch-alternating"
 
 # Disable the scratch rt device to avoid test failures relating to the rt
 # bitmap consuming all the free space in our small data device.
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 
 # Create a small fs with a large directory block size. We want to fill up the fs
 # quickly and then create multi-fsb dirblocks over fragmented free space.
diff --git a/tests/xfs/444 b/tests/xfs/444
index 13c9de528ec8..949c5711e2c8 100755
--- a/tests/xfs/444
+++ b/tests/xfs/444
@@ -31,7 +31,7 @@ _require_scratch_xfs_crc
 # Disable the scratch rt device to avoid test failures relating to the rt
 # bitmap consuming free space in our small data device and throwing off the
 # filestreams allocator.
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 
 mount_loop() {
 	if ! _try_scratch_mount >> $seqres.full 2>&1; then
diff --git a/tests/xfs/445 b/tests/xfs/445
index 0ea85ad018d6..2e9b6ca1be34 100755
--- a/tests/xfs/445
+++ b/tests/xfs/445
@@ -42,7 +42,7 @@ _check_filestreams_support || _notrun "filestreams not available"
 # Disable the scratch rt device to avoid test failures relating to the rt
 # bitmap consuming free space in our small data device and throwing off the
 # filestreams allocator.
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 
 # use small AGs for frequent stream switching
 _scratch_mkfs_xfs -d agsize=20m,size=2g >> $seqres.full 2>&1
diff --git a/tests/xfs/655 b/tests/xfs/655
index a4162d70b321..d6a3d4a95cc0 100755
--- a/tests/xfs/655
+++ b/tests/xfs/655
@@ -26,7 +26,7 @@ _require_xfs_io_command healthmon
 
 # Disable the scratch rt device to avoid test failures relating to the rt
 # bitmap consuming all the free space in our small data device.
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 
 echo "Format and mount"
 _scratch_mkfs -d agcount=1 | _filter_mkfs 2> $tmp.mkfs >> $seqres.full
diff --git a/tests/xfs/656 b/tests/xfs/656
index 3830d7193fcb..1eb82991521c 100755
--- a/tests/xfs/656
+++ b/tests/xfs/656
@@ -42,7 +42,7 @@ filter_healer_errors() {
 
 # Disable the scratch rt device to avoid test failures relating to the rt
 # bitmap consuming all the free space in our small data device.
-unset SCRATCH_RTDEV
+_disable_scratch_realtime
 
 echo "Format and mount"
 _scratch_mkfs > $seqres.full 2>&1
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-07-02 15:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-30 11:35 [PATCH] formalize and fix disabling the RT subvolume Christoph Hellwig
2026-06-30 18:40 ` Darrick J. Wong
2026-07-01 10:54   ` Christoph Hellwig
2026-07-01 16:51     ` Darrick J. Wong
2026-07-02 10:33       ` Christoph Hellwig
2026-07-02 15:22         ` Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox