fi
}
+# do not run on zoned file systems
+_require_scratch_non_zoned()
+{
+ if [ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_RTDEV" ]; then
+ _require_non_zoned_device $SCRATCH_RTDEV
+
+ if echo "$MKFS_OPTIONS" | grep -q 'zoned=1'; then
+ _notrun "Not supported on zoned file systems"
+ fi
+ fi
+}
+
# Decide if a mount filesystem has metadata directory trees.
_xfs_mount_has_metadir() {
local mount="$1"
_require_check_dmesg
_require_scratch_nocheck
_require_scratch_xfs_crc
-
# zoned requires metadir and doesn't support old features
-_require_non_zoned_device $SCRATCH_RTDEV
+_require_scratch_non_zoned
# Does repair know how to add a particular feature to a filesystem?
check_repair_upgrade()
_require_realtime
_require_scratch
-
-# no extsize support on zoned file systems
-_require_non_zoned_device $SCRATCH_RTDEV
+# no support for rtextsize > 1 on zoned file systems
+_require_scratch_non_zoned
# Check mkfs.xfs option parsing with regards to rtinherit. XFS doesn't require
# the realtime volume to be present to set rtinherit, so it's safe to call the
. ./common/filter
_require_scratch
-
-# zoned RT devices don't support rtextsize
-_require_non_zoned_device $SCRATCH_RTDEV
+# no support for rtextsize > 1 on zoned file systems
+_require_scratch_non_zoned
echo "Format and mount"
_scratch_mkfs -r extsize=7b | _filter_mkfs > $seqres.full 2>$tmp.mkfs
_require_scratch
_require_realtime
_require_no_large_scratch_dev
-_require_non_zoned_device $SCRATCH_RTDEV # no growfs support for zoned rt devices
+# growfs on zoned file systems only works on zone boundaries
+_require_scratch_non_zoned
_scratch_unmount 2>/dev/null
_fill()