* initial xfstests support for zoned XFS v2
@ 2025-03-21 7:21 Christoph Hellwig
2025-03-21 7:21 ` [PATCH 01/13] xfs/177: force a small file system size Christoph Hellwig
` (12 more replies)
0 siblings, 13 replies; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
Hi all,
this series adds initial support for the zoned XFS code merge into
the xfs tree to xfstests. It does not include several newly developed
test cases which will be sent separately.
Changes since v1:
- improve a few commit messages
- use -n instead -b in _require_dm_target
- add a code comment
- use $XFS_INFO_PROG instead of xfs_info
- fix spelling in a code comment
- don't re-specify the zoned option in _scratch_xfs_force_no_metadir
- don't skip xfs/311 on zoned devices. A patch to support zoned devices
in dm-delay has been sent to the device mapper list instead
- remove the _notrun due to non-aligned dm maps in xfs/438 as this
test is already skipped due to the lack of quota support
- drop the patches that parse mkfs output for now. They will be added
once the output has been improved, finalized and merged in xfsprogs.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 01/13] xfs/177: force a small file system size
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
2025-03-21 7:21 ` [PATCH 02/13] xfs/419: use _scratch_mkfs_xfs Christoph Hellwig
` (11 subsequent siblings)
12 siblings, 0 replies; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
This test make assumptions about the number of metadata inodes. When
using small realtime group size (e.g. the customary 256MB for SMR
hard drives) this assumption gets violated even with modest file system
size. Force a small file system size to side-step this issue.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
---
tests/xfs/177 | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/xfs/177 b/tests/xfs/177
index 82b3ca264140..8d23f66d51b7 100755
--- a/tests/xfs/177
+++ b/tests/xfs/177
@@ -77,7 +77,9 @@ delay_centisecs="$(cat "$xfs_centisecs_file")"
sleep_seconds=$(( ( (99 + (delay_centisecs / 6) ) / 100) + 1))
echo "Will sleep $sleep_seconds seconds to expire inodes" >> $seqres.full
-_scratch_mkfs >> $seqres.full
+# Force a relatively small file system size to keep the number of rtgroups
+# and thus metadata inodes low
+_scratch_mkfs_sized $((512 * 1024 * 1024)) >> $seqres.full
_scratch_mount >> $seqres.full
junkdir=$SCRATCH_MNT/$seq.junk
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 02/13] xfs/419: use _scratch_mkfs_xfs
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
2025-03-21 7:21 ` [PATCH 01/13] xfs/177: force a small file system size Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
2025-03-21 7:21 ` [PATCH 03/13] xfs/540: " Christoph Hellwig
` (10 subsequent siblings)
12 siblings, 0 replies; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
So that the test is _notrun instead of failed for conflicting options
like -r zoned or specific RT group configurations.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
---
tests/xfs/419 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/xfs/419 b/tests/xfs/419
index b9cd21faf443..5e122a0b8763 100755
--- a/tests/xfs/419
+++ b/tests/xfs/419
@@ -39,7 +39,7 @@ $MKFS_XFS_PROG -d rtinherit=0 "${mkfs_args[@]}" &>> $seqres.full || \
echo "mkfs should succeed with uninheritable rtext-unaligned extent hint"
# Move on to checking the kernel's behavior
-_scratch_mkfs -r extsize=7b | _filter_mkfs >> $seqres.full 2> $tmp.mkfs
+_scratch_mkfs_xfs -r extsize=7b | _filter_mkfs >> $seqres.full 2> $tmp.mkfs
cat $tmp.mkfs >> $seqres.full
. $tmp.mkfs
_scratch_mount
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 03/13] xfs/540: use _scratch_mkfs_xfs
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
2025-03-21 7:21 ` [PATCH 01/13] xfs/177: force a small file system size Christoph Hellwig
2025-03-21 7:21 ` [PATCH 02/13] xfs/419: use _scratch_mkfs_xfs Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
2025-03-21 7:21 ` [PATCH 04/13] common: extend the zoned device checks in _require_dm_target Christoph Hellwig
` (9 subsequent siblings)
12 siblings, 0 replies; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
So that the test is _notrun instead of failed for conflicting options
like -r zoned or specific RT group configurations.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
---
tests/xfs/540 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/xfs/540 b/tests/xfs/540
index 3acb20951a56..9c0fa3c6bb10 100755
--- a/tests/xfs/540
+++ b/tests/xfs/540
@@ -26,7 +26,7 @@ _begin_fstest auto repair fuzzers
_require_scratch
echo "Format and mount"
-_scratch_mkfs -r extsize=7b | _filter_mkfs > $seqres.full 2>$tmp.mkfs
+_scratch_mkfs_xfs -r extsize=7b | _filter_mkfs > $seqres.full 2>$tmp.mkfs
cat $tmp.mkfs >> $seqres.full
. $tmp.mkfs
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 04/13] common: extend the zoned device checks in _require_dm_target
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
` (2 preceding siblings ...)
2025-03-21 7:21 ` [PATCH 03/13] xfs/540: " Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
2025-03-21 7:21 ` [PATCH 05/13] common: allow _require_non_zoned_device without an argument Christoph Hellwig
` (8 subsequent siblings)
12 siblings, 0 replies; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
Also check for zoned log and rt devices in _require_dm_target
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
---
common/rc | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/common/rc b/common/rc
index e51686389a78..7cd8d5ffd2e8 100644
--- a/common/rc
+++ b/common/rc
@@ -2501,6 +2501,12 @@ _require_dm_target()
case $target in
snapshot|thin-pool)
_require_non_zoned_device ${SCRATCH_DEV}
+ if [ "$FSTYP" = "xfs" ] && [ -n "$SCRATCH_RTDEV" ]; then
+ _require_non_zoned_device ${SCRATCH_RTDEV}
+ fi
+ if [ "$FSTYP" = "xfs" ] && [ -n "$SCRATCH_LOGDEV" ]; then
+ _require_non_zoned_device ${SCRATCH_LOGDEV}
+ fi
;;
esac
}
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 05/13] common: allow _require_non_zoned_device without an argument
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
` (3 preceding siblings ...)
2025-03-21 7:21 ` [PATCH 04/13] common: extend the zoned device checks in _require_dm_target Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
2025-03-21 15:17 ` Darrick J. Wong
2025-03-21 7:21 ` [PATCH 06/13] xfs: add helpers to require zoned/non-zoned file systems Christoph Hellwig
` (7 subsequent siblings)
12 siblings, 1 reply; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
So that callers can pass $SCRATCH_RTDEV directly without needing to check
that it actually is set.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
common/rc | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/common/rc b/common/rc
index 7cd8d5ffd2e8..dc6d4ce01e05 100644
--- a/common/rc
+++ b/common/rc
@@ -2545,8 +2545,7 @@ _require_non_zoned_device()
{
local target=$1
if [ -z $target ]; then
- echo "Usage: _require_non_zoned_device <device>"
- exit 1
+ return
fi
local type=`_zone_type ${target}`
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 06/13] xfs: add helpers to require zoned/non-zoned file systems
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
` (4 preceding siblings ...)
2025-03-21 7:21 ` [PATCH 05/13] common: allow _require_non_zoned_device without an argument Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
2025-03-21 7:21 ` [PATCH 07/13] xfs: handle zoned file systems in _scratch_xfs_force_no_metadir Christoph Hellwig
` (6 subsequent siblings)
12 siblings, 0 replies; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
Looking at the max_open_zones sysfs attribute to see if a file system is
zoned or not, as various tests depend on that.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
---
common/xfs | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/common/xfs b/common/xfs
index 93260fdb4599..3663e4cf03bd 100644
--- a/common/xfs
+++ b/common/xfs
@@ -2071,6 +2071,33 @@ _scratch_xfs_force_no_metadir()
fi
}
+# do not run on zoned file systems
+_require_xfs_scratch_non_zoned()
+{
+ if _has_fs_sysfs_attr $SCRATCH_DEV "zoned/max_open_zones"; then
+ _notrun "Not supported on zoned file systems"
+ fi
+}
+
+# only run on zoned file systems
+_require_xfs_scratch_zoned()
+{
+ local attr="zoned/max_open_zones"
+ local min_open_zones=$1
+
+ if ! _has_fs_sysfs_attr $SCRATCH_DEV $attr; then
+ _notrun "Requires zoned file system"
+ fi
+
+ if [ -n "${min_open_zones}" ]; then
+ local has_open_zones=`_get_fs_sysfs_attr $SCRATCH_DEV $attr`
+
+ if [ "${min_open_zones}" -gt "${has_open_zones}" ]; then
+ _notrun "Requires at least ${min_open_zones} open zones"
+ fi
+ fi
+}
+
# Decide if a mount filesystem has metadata directory trees.
_xfs_mount_has_metadir() {
local mount="$1"
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 07/13] xfs: handle zoned file systems in _scratch_xfs_force_no_metadir
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
` (5 preceding siblings ...)
2025-03-21 7:21 ` [PATCH 06/13] xfs: add helpers to require zoned/non-zoned file systems Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
2025-03-21 15:18 ` Darrick J. Wong
2025-03-21 7:21 ` [PATCH 08/13] xfs: no quota support with internal rtdev Christoph Hellwig
` (5 subsequent siblings)
12 siblings, 1 reply; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
Zoned file systems required the metadir feature. If the tests are run
on a conventional block device as the RT device, we can simply remove
the zoned flag an run the test, but if the file systems sits on a zoned
block device there is no way to run a test that wants a non-metadir
file system.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
common/xfs | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/common/xfs b/common/xfs
index 3663e4cf03bd..c1b4c5577b2b 100644
--- a/common/xfs
+++ b/common/xfs
@@ -2049,6 +2049,12 @@ _scratch_xfs_find_metafile()
# Force metadata directories off.
_scratch_xfs_force_no_metadir()
{
+ _require_non_zoned_device $SCRATCH_DEV
+ # metadir is required for when the rt device is on a zoned device
+ if [ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_RTDEV" ]; then
+ _require_non_zoned_device $SCRATCH_RTDEV
+ fi
+
# Remove any mkfs-time quota options because those are only supported
# with metadir=1
for opt in uquota gquota pquota; do
@@ -2068,6 +2074,12 @@ _scratch_xfs_force_no_metadir()
# that option.
if grep -q 'metadir=' $MKFS_XFS_PROG; then
MKFS_OPTIONS="-m metadir=0 $MKFS_OPTIONS"
+ fi
+
+ # Replace any explicit zonedr option with zoned=0
+ if echo "$MKFS_OPTIONS" | grep -q 'zoned='; then
+ MKFS_OPTIONS="$(echo "$MKFS_OPTIONS" | sed -e 's/zoned=[0-9]*/zoned=0/g' -e 's/zoned\([, ]\)/zoned=0\1/g')"
+ return
fi
}
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 08/13] xfs: no quota support with internal rtdev
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
` (6 preceding siblings ...)
2025-03-21 7:21 ` [PATCH 07/13] xfs: handle zoned file systems in _scratch_xfs_force_no_metadir Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
2025-03-21 7:21 ` [PATCH 09/13] xfs: xfs_copy doesn't like RT sections Christoph Hellwig
` (4 subsequent siblings)
12 siblings, 0 replies; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
Same as regular zoned, but the previous check didn't work.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
---
common/xfs | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/common/xfs b/common/xfs
index c1b4c5577b2b..ccf263aeb969 100644
--- a/common/xfs
+++ b/common/xfs
@@ -2206,7 +2206,10 @@ _xfs_scratch_supports_rtquota() {
# can check that quickly, and we make the bold assumption that the same will
# apply to any scratch fs that might be created.
_require_xfs_rtquota_if_rtdev() {
- test "$USE_EXTERNAL" = "yes" || return
+ if [ "$USE_EXTERNAL" != "yes" ]; then
+ $XFS_INFO_PROG "$TEST_DIR" | grep -q 'realtime.*internal' &&
+ _notrun "Quota on internal rt device not supported"
+ fi
if [ -n "$TEST_RTDEV$SCRATCH_RTDEV" ]; then
_xfs_kmod_supports_rtquota || \
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 09/13] xfs: xfs_copy doesn't like RT sections
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
` (7 preceding siblings ...)
2025-03-21 7:21 ` [PATCH 08/13] xfs: no quota support with internal rtdev Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
2025-03-21 15:20 ` Darrick J. Wong
2025-03-21 7:21 ` [PATCH 10/13] xfs: skip filestreams tests on internal RT devices Christoph Hellwig
` (3 subsequent siblings)
12 siblings, 1 reply; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
internal or external..
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
common/xfs | 3 +++
1 file changed, 3 insertions(+)
diff --git a/common/xfs b/common/xfs
index ccf263aeb969..d9999829d3b5 100644
--- a/common/xfs
+++ b/common/xfs
@@ -1556,6 +1556,9 @@ _require_xfs_copy()
[ "$USE_EXTERNAL" = yes ] && \
_notrun "Cannot xfs_copy with external devices"
+ $XFS_INFO_PROG "$TEST_DIR" | grep -q 'realtime.*internal' &&
+ _notrun "Cannot xfs_copy with internal rt device"
+
# xfs_copy on v5 filesystems do not require the "-d" option if xfs_db
# can change the UUID on v5 filesystems
touch /tmp/$$.img
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 10/13] xfs: skip filestreams tests on internal RT devices
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
` (8 preceding siblings ...)
2025-03-21 7:21 ` [PATCH 09/13] xfs: xfs_copy doesn't like RT sections Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
2025-03-21 7:21 ` [PATCH 11/13] xfs: skip various tests when using the zoned allocator Christoph Hellwig
` (2 subsequent siblings)
12 siblings, 0 replies; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
The filestreams tests using _test_streams force a run on the data
section, but for internal RT zoned devices the data section can be tiny
and might not provide enough space. Skip these tests as they aren't
really useful when testing a zoned config anyway.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
---
common/filestreams | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/common/filestreams b/common/filestreams
index 00b28066873f..bb8459405b3e 100644
--- a/common/filestreams
+++ b/common/filestreams
@@ -108,6 +108,11 @@ _test_streams() {
_scratch_mount
fi
+ # Skip these tests on zoned file systems as filestreams don't work
+ # with the zoned allocator, and the above would force it into the
+ # tiny data section only used for metadata anyway.
+ _require_xfs_scratch_non_zoned
+
cd $SCRATCH_MNT
# start $stream_count streams
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 11/13] xfs: skip various tests when using the zoned allocator
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
` (9 preceding siblings ...)
2025-03-21 7:21 ` [PATCH 10/13] xfs: skip filestreams tests on internal RT devices Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
2025-03-21 15:21 ` Darrick J. Wong
2025-03-21 7:21 ` [PATCH 12/13] xfs/049: skip on zoned devices Christoph Hellwig
2025-03-21 7:21 ` [PATCH 13/13] xfs/206: filter out the zoned line from mkfs output Christoph Hellwig
12 siblings, 1 reply; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
Various file system features tested are incompatible with the zoned
allocator. Add a _require_xfs_scratch_non_zoned to guard them.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
tests/xfs/015 | 7 +++++++
tests/xfs/041 | 5 +++++
tests/xfs/272 | 5 +++++
tests/xfs/276 | 5 +++++
tests/xfs/306 | 4 ++++
tests/xfs/419 | 3 +++
tests/xfs/449 | 3 +++
tests/xfs/521 | 3 +++
tests/xfs/524 | 4 ++++
tests/xfs/540 | 3 +++
tests/xfs/541 | 3 +++
tests/xfs/556 | 13 +++++++++++++
tests/xfs/596 | 3 +++
13 files changed, 61 insertions(+)
diff --git a/tests/xfs/015 b/tests/xfs/015
index acaace0ce103..ddb3e0911813 100755
--- a/tests/xfs/015
+++ b/tests/xfs/015
@@ -38,6 +38,13 @@ _require_scratch
# need 128M space, don't make any assumption
_scratch_mkfs >/dev/null 2>&1
_scratch_mount
+
+# This test tries to grow the data device, which doesn't work for internal
+# zoned RT devices
+if [ -z "$SCRATCH_RTDEV" ]; then
+ _require_xfs_scratch_non_zoned
+fi
+
_require_fs_space $SCRATCH_MNT 196608
_scratch_unmount
diff --git a/tests/xfs/041 b/tests/xfs/041
index 780078d44eeb..6cbcef6cfff0 100755
--- a/tests/xfs/041
+++ b/tests/xfs/041
@@ -44,6 +44,11 @@ bsize=`_scratch_mkfs_xfs -dsize=${agsize}m,agcount=1 2>&1 | _filter_mkfs 2>&1 \
onemeginblocks=`expr 1048576 / $bsize`
_scratch_mount
+# Growing the data device doesn't work with an internal RT volume directly
+# following the data device. But even without that this test forces data
+# to the data device, which often is tiny on zoned file systems.
+_require_xfs_scratch_non_zoned
+
# We're growing the data device, so force new file creation there
_xfs_force_bdev data $SCRATCH_MNT
diff --git a/tests/xfs/272 b/tests/xfs/272
index 0a7a7273ac92..aa5831dc0234 100755
--- a/tests/xfs/272
+++ b/tests/xfs/272
@@ -29,6 +29,11 @@ echo "Format and mount"
_scratch_mkfs > "$seqres.full" 2>&1
_scratch_mount
+# The synthetic devices for internal zoned rt devices confuse the parser
+if [ -z "$SCRATCH_RTDEV" ]; then
+ _require_xfs_scratch_non_zoned
+fi
+
# Make sure everything is on the data device
_xfs_force_bdev data $SCRATCH_MNT
diff --git a/tests/xfs/276 b/tests/xfs/276
index b675e79b249a..2802fc03c473 100755
--- a/tests/xfs/276
+++ b/tests/xfs/276
@@ -32,6 +32,11 @@ _scratch_mkfs | _filter_mkfs 2> "$tmp.mkfs" >/dev/null
cat "$tmp.mkfs" > $seqres.full
_scratch_mount
+# The synthetic devices for internal zoned rt devices confuse the parser
+if [ -z "$SCRATCH_RTDEV" ]; then
+ _require_xfs_scratch_non_zoned
+fi
+
# Don't let the rt extent size perturb the fsmap output with unwritten
# extents in places we don't expect them
test $rtextsz -eq $dbsize || _notrun "Skipping test due to rtextsize > 1 fsb"
diff --git a/tests/xfs/306 b/tests/xfs/306
index 8981cbd72e1c..d48b753632d5 100755
--- a/tests/xfs/306
+++ b/tests/xfs/306
@@ -33,6 +33,10 @@ unset SCRATCH_RTDEV
_scratch_mkfs_xfs -d size=100m -n size=64k >> $seqres.full 2>&1
_scratch_mount
+# When using the zone allocator, mkfs still creates an internal RT section by
+# default and the above unsetting SCRATCH_RTDEV of doesn't work.
+_require_xfs_scratch_non_zoned
+
# Fill a source directory with many largish-named files. 1k uuid-named entries
# sufficiently populates a 64k directory block.
mkdir $SCRATCH_MNT/src
diff --git a/tests/xfs/419 b/tests/xfs/419
index 5e122a0b8763..94ae18743da9 100755
--- a/tests/xfs/419
+++ b/tests/xfs/419
@@ -44,6 +44,9 @@ cat $tmp.mkfs >> $seqres.full
. $tmp.mkfs
_scratch_mount
+# no support for rtextsize > 1 on zoned file systems
+_require_xfs_scratch_non_zoned
+
test $rtextsz -ne $dbsize || \
_notrun "cannot set rt extent size ($rtextsz) larger than fs block size ($dbsize)"
diff --git a/tests/xfs/449 b/tests/xfs/449
index a739df50e319..d93d84952c6a 100755
--- a/tests/xfs/449
+++ b/tests/xfs/449
@@ -38,6 +38,9 @@ fi
_scratch_mount
+# can't grow data volume on mixed configs
+_require_xfs_scratch_non_zoned
+
$XFS_SPACEMAN_PROG -c "info" $SCRATCH_MNT > $tmp.spaceman
echo SPACEMAN >> $seqres.full
cat $tmp.spaceman >> $seqres.full
diff --git a/tests/xfs/521 b/tests/xfs/521
index c92c621a2fd4..0da05a55a276 100755
--- a/tests/xfs/521
+++ b/tests/xfs/521
@@ -43,6 +43,9 @@ export SCRATCH_RTDEV=$rtdev
_scratch_mkfs -r size=100m > $seqres.full
_try_scratch_mount || _notrun "Could not mount scratch with synthetic rt volume"
+# zoned file systems only support zoned size-rounded RT device sizes
+_require_xfs_scratch_non_zoned
+
testdir=$SCRATCH_MNT/test-$seq
mkdir $testdir
diff --git a/tests/xfs/524 b/tests/xfs/524
index ef47a8461bf7..6251863476e5 100755
--- a/tests/xfs/524
+++ b/tests/xfs/524
@@ -25,6 +25,10 @@ _require_test
_require_scratch_nocheck
_require_xfs_mkfs_cfgfile
+# reflink is currently not supported for zoned devices, and the normal support
+# checks for it don't work at mkfs time.
+_require_non_zoned_device $SCRATCH_DEV
+
echo "Silence is golden"
def_cfgfile=$TEST_DIR/a
diff --git a/tests/xfs/540 b/tests/xfs/540
index 9c0fa3c6bb10..5595eee85a9b 100755
--- a/tests/xfs/540
+++ b/tests/xfs/540
@@ -34,6 +34,9 @@ test $rtextsz -ne $dbsize || \
_notrun "cannot set rt extent size ($rtextsz) larger than fs block size ($dbsize)"
_scratch_mount >> $seqres.full 2>&1
+# no support for rtextsize > 1 on zoned file systems
+_require_xfs_scratch_non_zoned
+
rootino=$(stat -c '%i' $SCRATCH_MNT)
_scratch_unmount
diff --git a/tests/xfs/541 b/tests/xfs/541
index b4856d496d5e..2b8c7ba17ff8 100755
--- a/tests/xfs/541
+++ b/tests/xfs/541
@@ -30,6 +30,9 @@ _require_scratch
SCRATCH_RTDEV="" _scratch_mkfs | _filter_mkfs 2> $tmp.mkfs >> $seqres.full
_try_scratch_mount || _notrun "Can't mount file system"
+# Zoned file systems don't support rtextsize > 1
+_require_xfs_scratch_non_zoned
+
# Check that there's no realtime section.
source $tmp.mkfs
test $rtblocks -eq 0 || echo "expected 0 rtblocks, got $rtblocks"
diff --git a/tests/xfs/556 b/tests/xfs/556
index 83d5022e700c..f5ad90c869ba 100755
--- a/tests/xfs/556
+++ b/tests/xfs/556
@@ -35,6 +35,19 @@ filter_scrub_errors() {
}
_scratch_mkfs >> $seqres.full
+
+#
+# The dm-error map added by this test doesn't work on zoned devices because
+# table sizes need to be aligned to the zone size, and even for zoned on
+# conventional this test will get confused because of the internal RT device.
+#
+# That check requires a mounted file system, so do a dummy mount before setting
+# up DM.
+#
+_scratch_mount
+_require_xfs_scratch_non_zoned
+_scratch_unmount
+
_dmerror_init
_dmerror_mount >> $seqres.full 2>&1
diff --git a/tests/xfs/596 b/tests/xfs/596
index 12c38c2e9604..5827f045b4e6 100755
--- a/tests/xfs/596
+++ b/tests/xfs/596
@@ -44,6 +44,9 @@ _scratch_mkfs_xfs -rsize=${rtsize}m | _filter_mkfs 2> "$tmp.mkfs" >> $seqres.ful
onemeginblocks=`expr 1048576 / $dbsize`
_scratch_mount
+# growfs on zoned file systems only works on zone boundaries
+_require_xfs_scratch_non_zoned
+
# We're growing the realtime device, so force new file creation there
_xfs_force_bdev realtime $SCRATCH_MNT
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 12/13] xfs/049: skip on zoned devices
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
` (10 preceding siblings ...)
2025-03-21 7:21 ` [PATCH 11/13] xfs: skip various tests when using the zoned allocator Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
2025-03-21 15:21 ` Darrick J. Wong
2025-03-21 7:21 ` [PATCH 13/13] xfs/206: filter out the zoned line from mkfs output Christoph Hellwig
12 siblings, 1 reply; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
This tes creates an ext2 file system, which doesn't support zoned
devices.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
tests/xfs/049 | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/xfs/049 b/tests/xfs/049
index cdcddf76498c..07feb58c9ad6 100755
--- a/tests/xfs/049
+++ b/tests/xfs/049
@@ -40,6 +40,8 @@ _require_scratch_nocheck
_require_no_large_scratch_dev
_require_loop
_require_extra_fs ext2
+# this test actually runs ext2 on the scratch device
+_require_non_zoned_device $SCRATCH_DEV
echo "(dev=$SCRATCH_DEV, mount=$SCRATCH_MNT)" >> $seqres.full
echo "" >> $seqres.full
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 13/13] xfs/206: filter out the zoned line from mkfs output
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
` (11 preceding siblings ...)
2025-03-21 7:21 ` [PATCH 12/13] xfs/049: skip on zoned devices Christoph Hellwig
@ 2025-03-21 7:21 ` Christoph Hellwig
12 siblings, 0 replies; 19+ messages in thread
From: Christoph Hellwig @ 2025-03-21 7:21 UTC (permalink / raw)
To: Zorro Lang; +Cc: Darrick J. Wong, Hans Holmberg, fstests, linux-xfs
So that the test still passes with a zone enabled mkfs.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
---
tests/xfs/206 | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/xfs/206 b/tests/xfs/206
index 01531e1f08c3..bfd2dee939dd 100755
--- a/tests/xfs/206
+++ b/tests/xfs/206
@@ -66,6 +66,7 @@ mkfs_filter()
-e '/metadir=.*/d' \
-e 's/, parent=[01]//' \
-e '/rgcount=/d' \
+ -e '/zoned=/d' \
-e "/^Default configuration/d"
}
--
2.45.2
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH 05/13] common: allow _require_non_zoned_device without an argument
2025-03-21 7:21 ` [PATCH 05/13] common: allow _require_non_zoned_device without an argument Christoph Hellwig
@ 2025-03-21 15:17 ` Darrick J. Wong
0 siblings, 0 replies; 19+ messages in thread
From: Darrick J. Wong @ 2025-03-21 15:17 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Zorro Lang, Hans Holmberg, fstests, linux-xfs
On Fri, Mar 21, 2025 at 08:21:34AM +0100, Christoph Hellwig wrote:
> So that callers can pass $SCRATCH_RTDEV directly without needing to check
> that it actually is set.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
Looks good,
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> common/rc | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/common/rc b/common/rc
> index 7cd8d5ffd2e8..dc6d4ce01e05 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -2545,8 +2545,7 @@ _require_non_zoned_device()
> {
> local target=$1
> if [ -z $target ]; then
> - echo "Usage: _require_non_zoned_device <device>"
> - exit 1
> + return
> fi
>
> local type=`_zone_type ${target}`
> --
> 2.45.2
>
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 07/13] xfs: handle zoned file systems in _scratch_xfs_force_no_metadir
2025-03-21 7:21 ` [PATCH 07/13] xfs: handle zoned file systems in _scratch_xfs_force_no_metadir Christoph Hellwig
@ 2025-03-21 15:18 ` Darrick J. Wong
0 siblings, 0 replies; 19+ messages in thread
From: Darrick J. Wong @ 2025-03-21 15:18 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Zorro Lang, Hans Holmberg, fstests, linux-xfs
On Fri, Mar 21, 2025 at 08:21:36AM +0100, Christoph Hellwig wrote:
> Zoned file systems required the metadir feature. If the tests are run
> on a conventional block device as the RT device, we can simply remove
> the zoned flag an run the test, but if the file systems sits on a zoned
> block device there is no way to run a test that wants a non-metadir
> file system.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
> common/xfs | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/common/xfs b/common/xfs
> index 3663e4cf03bd..c1b4c5577b2b 100644
> --- a/common/xfs
> +++ b/common/xfs
> @@ -2049,6 +2049,12 @@ _scratch_xfs_find_metafile()
> # Force metadata directories off.
> _scratch_xfs_force_no_metadir()
> {
> + _require_non_zoned_device $SCRATCH_DEV
> + # metadir is required for when the rt device is on a zoned device
> + if [ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_RTDEV" ]; then
> + _require_non_zoned_device $SCRATCH_RTDEV
> + fi
> +
> # Remove any mkfs-time quota options because those are only supported
> # with metadir=1
> for opt in uquota gquota pquota; do
> @@ -2068,6 +2074,12 @@ _scratch_xfs_force_no_metadir()
> # that option.
> if grep -q 'metadir=' $MKFS_XFS_PROG; then
> MKFS_OPTIONS="-m metadir=0 $MKFS_OPTIONS"
> + fi
Dumb nit: ^^^^^^ extra space here
> +
> + # Replace any explicit zonedr option with zoned=0
> + if echo "$MKFS_OPTIONS" | grep -q 'zoned='; then
> + MKFS_OPTIONS="$(echo "$MKFS_OPTIONS" | sed -e 's/zoned=[0-9]*/zoned=0/g' -e 's/zoned\([, ]\)/zoned=0\1/g')"
With that fixed,
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> + return
> fi
> }
>
> --
> 2.45.2
>
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 09/13] xfs: xfs_copy doesn't like RT sections
2025-03-21 7:21 ` [PATCH 09/13] xfs: xfs_copy doesn't like RT sections Christoph Hellwig
@ 2025-03-21 15:20 ` Darrick J. Wong
0 siblings, 0 replies; 19+ messages in thread
From: Darrick J. Wong @ 2025-03-21 15:20 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Zorro Lang, Hans Holmberg, fstests, linux-xfs
On Fri, Mar 21, 2025 at 08:21:38AM +0100, Christoph Hellwig wrote:
> internal or external..
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
Some day someone ought to make xfs_copy work on rt volumes...
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> common/xfs | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/common/xfs b/common/xfs
> index ccf263aeb969..d9999829d3b5 100644
> --- a/common/xfs
> +++ b/common/xfs
> @@ -1556,6 +1556,9 @@ _require_xfs_copy()
> [ "$USE_EXTERNAL" = yes ] && \
> _notrun "Cannot xfs_copy with external devices"
>
> + $XFS_INFO_PROG "$TEST_DIR" | grep -q 'realtime.*internal' &&
> + _notrun "Cannot xfs_copy with internal rt device"
> +
> # xfs_copy on v5 filesystems do not require the "-d" option if xfs_db
> # can change the UUID on v5 filesystems
> touch /tmp/$$.img
> --
> 2.45.2
>
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 11/13] xfs: skip various tests when using the zoned allocator
2025-03-21 7:21 ` [PATCH 11/13] xfs: skip various tests when using the zoned allocator Christoph Hellwig
@ 2025-03-21 15:21 ` Darrick J. Wong
0 siblings, 0 replies; 19+ messages in thread
From: Darrick J. Wong @ 2025-03-21 15:21 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Zorro Lang, Hans Holmberg, fstests, linux-xfs
On Fri, Mar 21, 2025 at 08:21:40AM +0100, Christoph Hellwig wrote:
> Various file system features tested are incompatible with the zoned
> allocator. Add a _require_xfs_scratch_non_zoned to guard them.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
LGTM now,
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> tests/xfs/015 | 7 +++++++
> tests/xfs/041 | 5 +++++
> tests/xfs/272 | 5 +++++
> tests/xfs/276 | 5 +++++
> tests/xfs/306 | 4 ++++
> tests/xfs/419 | 3 +++
> tests/xfs/449 | 3 +++
> tests/xfs/521 | 3 +++
> tests/xfs/524 | 4 ++++
> tests/xfs/540 | 3 +++
> tests/xfs/541 | 3 +++
> tests/xfs/556 | 13 +++++++++++++
> tests/xfs/596 | 3 +++
> 13 files changed, 61 insertions(+)
>
> diff --git a/tests/xfs/015 b/tests/xfs/015
> index acaace0ce103..ddb3e0911813 100755
> --- a/tests/xfs/015
> +++ b/tests/xfs/015
> @@ -38,6 +38,13 @@ _require_scratch
> # need 128M space, don't make any assumption
> _scratch_mkfs >/dev/null 2>&1
> _scratch_mount
> +
> +# This test tries to grow the data device, which doesn't work for internal
> +# zoned RT devices
> +if [ -z "$SCRATCH_RTDEV" ]; then
> + _require_xfs_scratch_non_zoned
> +fi
> +
> _require_fs_space $SCRATCH_MNT 196608
> _scratch_unmount
>
> diff --git a/tests/xfs/041 b/tests/xfs/041
> index 780078d44eeb..6cbcef6cfff0 100755
> --- a/tests/xfs/041
> +++ b/tests/xfs/041
> @@ -44,6 +44,11 @@ bsize=`_scratch_mkfs_xfs -dsize=${agsize}m,agcount=1 2>&1 | _filter_mkfs 2>&1 \
> onemeginblocks=`expr 1048576 / $bsize`
> _scratch_mount
>
> +# Growing the data device doesn't work with an internal RT volume directly
> +# following the data device. But even without that this test forces data
> +# to the data device, which often is tiny on zoned file systems.
> +_require_xfs_scratch_non_zoned
> +
> # We're growing the data device, so force new file creation there
> _xfs_force_bdev data $SCRATCH_MNT
>
> diff --git a/tests/xfs/272 b/tests/xfs/272
> index 0a7a7273ac92..aa5831dc0234 100755
> --- a/tests/xfs/272
> +++ b/tests/xfs/272
> @@ -29,6 +29,11 @@ echo "Format and mount"
> _scratch_mkfs > "$seqres.full" 2>&1
> _scratch_mount
>
> +# The synthetic devices for internal zoned rt devices confuse the parser
> +if [ -z "$SCRATCH_RTDEV" ]; then
> + _require_xfs_scratch_non_zoned
> +fi
> +
> # Make sure everything is on the data device
> _xfs_force_bdev data $SCRATCH_MNT
>
> diff --git a/tests/xfs/276 b/tests/xfs/276
> index b675e79b249a..2802fc03c473 100755
> --- a/tests/xfs/276
> +++ b/tests/xfs/276
> @@ -32,6 +32,11 @@ _scratch_mkfs | _filter_mkfs 2> "$tmp.mkfs" >/dev/null
> cat "$tmp.mkfs" > $seqres.full
> _scratch_mount
>
> +# The synthetic devices for internal zoned rt devices confuse the parser
> +if [ -z "$SCRATCH_RTDEV" ]; then
> + _require_xfs_scratch_non_zoned
> +fi
> +
> # Don't let the rt extent size perturb the fsmap output with unwritten
> # extents in places we don't expect them
> test $rtextsz -eq $dbsize || _notrun "Skipping test due to rtextsize > 1 fsb"
> diff --git a/tests/xfs/306 b/tests/xfs/306
> index 8981cbd72e1c..d48b753632d5 100755
> --- a/tests/xfs/306
> +++ b/tests/xfs/306
> @@ -33,6 +33,10 @@ unset SCRATCH_RTDEV
> _scratch_mkfs_xfs -d size=100m -n size=64k >> $seqres.full 2>&1
> _scratch_mount
>
> +# When using the zone allocator, mkfs still creates an internal RT section by
> +# default and the above unsetting SCRATCH_RTDEV of doesn't work.
> +_require_xfs_scratch_non_zoned
> +
> # Fill a source directory with many largish-named files. 1k uuid-named entries
> # sufficiently populates a 64k directory block.
> mkdir $SCRATCH_MNT/src
> diff --git a/tests/xfs/419 b/tests/xfs/419
> index 5e122a0b8763..94ae18743da9 100755
> --- a/tests/xfs/419
> +++ b/tests/xfs/419
> @@ -44,6 +44,9 @@ cat $tmp.mkfs >> $seqres.full
> . $tmp.mkfs
> _scratch_mount
>
> +# no support for rtextsize > 1 on zoned file systems
> +_require_xfs_scratch_non_zoned
> +
> test $rtextsz -ne $dbsize || \
> _notrun "cannot set rt extent size ($rtextsz) larger than fs block size ($dbsize)"
>
> diff --git a/tests/xfs/449 b/tests/xfs/449
> index a739df50e319..d93d84952c6a 100755
> --- a/tests/xfs/449
> +++ b/tests/xfs/449
> @@ -38,6 +38,9 @@ fi
>
> _scratch_mount
>
> +# can't grow data volume on mixed configs
> +_require_xfs_scratch_non_zoned
> +
> $XFS_SPACEMAN_PROG -c "info" $SCRATCH_MNT > $tmp.spaceman
> echo SPACEMAN >> $seqres.full
> cat $tmp.spaceman >> $seqres.full
> diff --git a/tests/xfs/521 b/tests/xfs/521
> index c92c621a2fd4..0da05a55a276 100755
> --- a/tests/xfs/521
> +++ b/tests/xfs/521
> @@ -43,6 +43,9 @@ export SCRATCH_RTDEV=$rtdev
> _scratch_mkfs -r size=100m > $seqres.full
> _try_scratch_mount || _notrun "Could not mount scratch with synthetic rt volume"
>
> +# zoned file systems only support zoned size-rounded RT device sizes
> +_require_xfs_scratch_non_zoned
> +
> testdir=$SCRATCH_MNT/test-$seq
> mkdir $testdir
>
> diff --git a/tests/xfs/524 b/tests/xfs/524
> index ef47a8461bf7..6251863476e5 100755
> --- a/tests/xfs/524
> +++ b/tests/xfs/524
> @@ -25,6 +25,10 @@ _require_test
> _require_scratch_nocheck
> _require_xfs_mkfs_cfgfile
>
> +# reflink is currently not supported for zoned devices, and the normal support
> +# checks for it don't work at mkfs time.
> +_require_non_zoned_device $SCRATCH_DEV
> +
> echo "Silence is golden"
>
> def_cfgfile=$TEST_DIR/a
> diff --git a/tests/xfs/540 b/tests/xfs/540
> index 9c0fa3c6bb10..5595eee85a9b 100755
> --- a/tests/xfs/540
> +++ b/tests/xfs/540
> @@ -34,6 +34,9 @@ test $rtextsz -ne $dbsize || \
> _notrun "cannot set rt extent size ($rtextsz) larger than fs block size ($dbsize)"
>
> _scratch_mount >> $seqres.full 2>&1
> +# no support for rtextsize > 1 on zoned file systems
> +_require_xfs_scratch_non_zoned
> +
> rootino=$(stat -c '%i' $SCRATCH_MNT)
> _scratch_unmount
>
> diff --git a/tests/xfs/541 b/tests/xfs/541
> index b4856d496d5e..2b8c7ba17ff8 100755
> --- a/tests/xfs/541
> +++ b/tests/xfs/541
> @@ -30,6 +30,9 @@ _require_scratch
> SCRATCH_RTDEV="" _scratch_mkfs | _filter_mkfs 2> $tmp.mkfs >> $seqres.full
> _try_scratch_mount || _notrun "Can't mount file system"
>
> +# Zoned file systems don't support rtextsize > 1
> +_require_xfs_scratch_non_zoned
> +
> # Check that there's no realtime section.
> source $tmp.mkfs
> test $rtblocks -eq 0 || echo "expected 0 rtblocks, got $rtblocks"
> diff --git a/tests/xfs/556 b/tests/xfs/556
> index 83d5022e700c..f5ad90c869ba 100755
> --- a/tests/xfs/556
> +++ b/tests/xfs/556
> @@ -35,6 +35,19 @@ filter_scrub_errors() {
> }
>
> _scratch_mkfs >> $seqres.full
> +
> +#
> +# The dm-error map added by this test doesn't work on zoned devices because
> +# table sizes need to be aligned to the zone size, and even for zoned on
> +# conventional this test will get confused because of the internal RT device.
> +#
> +# That check requires a mounted file system, so do a dummy mount before setting
> +# up DM.
> +#
> +_scratch_mount
> +_require_xfs_scratch_non_zoned
> +_scratch_unmount
> +
> _dmerror_init
> _dmerror_mount >> $seqres.full 2>&1
>
> diff --git a/tests/xfs/596 b/tests/xfs/596
> index 12c38c2e9604..5827f045b4e6 100755
> --- a/tests/xfs/596
> +++ b/tests/xfs/596
> @@ -44,6 +44,9 @@ _scratch_mkfs_xfs -rsize=${rtsize}m | _filter_mkfs 2> "$tmp.mkfs" >> $seqres.ful
> onemeginblocks=`expr 1048576 / $dbsize`
> _scratch_mount
>
> +# growfs on zoned file systems only works on zone boundaries
> +_require_xfs_scratch_non_zoned
> +
> # We're growing the realtime device, so force new file creation there
> _xfs_force_bdev realtime $SCRATCH_MNT
>
> --
> 2.45.2
>
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 12/13] xfs/049: skip on zoned devices
2025-03-21 7:21 ` [PATCH 12/13] xfs/049: skip on zoned devices Christoph Hellwig
@ 2025-03-21 15:21 ` Darrick J. Wong
0 siblings, 0 replies; 19+ messages in thread
From: Darrick J. Wong @ 2025-03-21 15:21 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Zorro Lang, Hans Holmberg, fstests, linux-xfs
On Fri, Mar 21, 2025 at 08:21:41AM +0100, Christoph Hellwig wrote:
> This tes creates an ext2 file system, which doesn't support zoned
> devices.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
Looks ok,
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
> ---
> tests/xfs/049 | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tests/xfs/049 b/tests/xfs/049
> index cdcddf76498c..07feb58c9ad6 100755
> --- a/tests/xfs/049
> +++ b/tests/xfs/049
> @@ -40,6 +40,8 @@ _require_scratch_nocheck
> _require_no_large_scratch_dev
> _require_loop
> _require_extra_fs ext2
> +# this test actually runs ext2 on the scratch device
> +_require_non_zoned_device $SCRATCH_DEV
>
> echo "(dev=$SCRATCH_DEV, mount=$SCRATCH_MNT)" >> $seqres.full
> echo "" >> $seqres.full
> --
> 2.45.2
>
>
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2025-03-21 15:21 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-21 7:21 initial xfstests support for zoned XFS v2 Christoph Hellwig
2025-03-21 7:21 ` [PATCH 01/13] xfs/177: force a small file system size Christoph Hellwig
2025-03-21 7:21 ` [PATCH 02/13] xfs/419: use _scratch_mkfs_xfs Christoph Hellwig
2025-03-21 7:21 ` [PATCH 03/13] xfs/540: " Christoph Hellwig
2025-03-21 7:21 ` [PATCH 04/13] common: extend the zoned device checks in _require_dm_target Christoph Hellwig
2025-03-21 7:21 ` [PATCH 05/13] common: allow _require_non_zoned_device without an argument Christoph Hellwig
2025-03-21 15:17 ` Darrick J. Wong
2025-03-21 7:21 ` [PATCH 06/13] xfs: add helpers to require zoned/non-zoned file systems Christoph Hellwig
2025-03-21 7:21 ` [PATCH 07/13] xfs: handle zoned file systems in _scratch_xfs_force_no_metadir Christoph Hellwig
2025-03-21 15:18 ` Darrick J. Wong
2025-03-21 7:21 ` [PATCH 08/13] xfs: no quota support with internal rtdev Christoph Hellwig
2025-03-21 7:21 ` [PATCH 09/13] xfs: xfs_copy doesn't like RT sections Christoph Hellwig
2025-03-21 15:20 ` Darrick J. Wong
2025-03-21 7:21 ` [PATCH 10/13] xfs: skip filestreams tests on internal RT devices Christoph Hellwig
2025-03-21 7:21 ` [PATCH 11/13] xfs: skip various tests when using the zoned allocator Christoph Hellwig
2025-03-21 15:21 ` Darrick J. Wong
2025-03-21 7:21 ` [PATCH 12/13] xfs/049: skip on zoned devices Christoph Hellwig
2025-03-21 15:21 ` Darrick J. Wong
2025-03-21 7:21 ` [PATCH 13/13] xfs/206: filter out the zoned line from mkfs output Christoph Hellwig
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox