]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
xfs/{129,234,253,605}: disable metadump v1 testing with external devices
authorDarrick J. Wong <djwong@kernel.org>
Wed, 7 Feb 2024 02:19:08 +0000 (18:19 -0800)
committerZorro Lang <zlang@kernel.org>
Fri, 9 Feb 2024 05:27:17 +0000 (13:27 +0800)
The metadump v1 format does not support capturing content from log
devices or realtime devices.  Hence it does not make sense to test these
scenarios.  Create predicates to decide if we want to test a particular
metadump format, then convert existing tests to check formats
explicitly.

Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Zorro Lang <zlang@kernel.org>
common/metadump
tests/xfs/605

index 4b576f045eb14503bd4edcc6d3a1107a7db3d9dd..3373edfe92efd6d17174359737c6db92971698ff 100644 (file)
@@ -37,6 +37,24 @@ _xfs_cleanup_verify_metadump()
        fi
 }
 
+# Can xfs_metadump snapshot the fs metadata to a v1 metadump file?
+_scratch_xfs_can_metadump_v1()
+{
+       # metadump v1 does not support log devices
+       [ "$USE_EXTERNAL" = yes ] && [ -n "$SCRATCH_LOGDEV" ] && return 1
+
+       # metadump v1 does not support realtime devices
+       [ "$USE_EXTERNAL" = yes ] && [ -n "$SCRATCH_RTDEV" ] && return 1
+
+       return 0
+}
+
+# Can xfs_metadump snapshot the fs metadata to a v2 metadump file?
+_scratch_xfs_can_metadump_v2()
+{
+       test "$MAX_XFS_METADUMP_VERSION" -ge 2
+}
+
 # Create a metadump in v1 format, restore it to fs image files, then mount the
 # images and fsck them.
 _xfs_verify_metadump_v1()
@@ -129,9 +147,6 @@ _xfs_verify_metadump_v2()
 # Verify both metadump formats if possible
 _xfs_verify_metadumps()
 {
-       _xfs_verify_metadump_v1 "$@"
-
-       if [[ $MAX_XFS_METADUMP_FORMAT == 2 ]]; then
-               _xfs_verify_metadump_v2 "$@"
-       fi
+       _scratch_xfs_can_metadump_v1 && _xfs_verify_metadump_v1 "$@"
+       _scratch_xfs_can_metadump_v2 && _xfs_verify_metadump_v2 "$@"
 }
index 13cf06549555f667baa64b4f482be8536cd280ce..78458c76657f298845d51c9d90cc0597dd5a0f9d 100755 (executable)
@@ -40,15 +40,6 @@ testfile=${SCRATCH_MNT}/testfile
 echo "Format filesystem on scratch device"
 _scratch_mkfs >> $seqres.full 2>&1
 
-external_log=0
-if [[ $USE_EXTERNAL = yes && -n "$SCRATCH_LOGDEV" ]]; then
-       external_log=1
-fi
-
-if [[ $MAX_XFS_METADUMP_FORMAT == 1 && $external_log == 1 ]]; then
-       _notrun "metadump v1 does not support external log device"
-fi
-
 echo "Initialize and mount filesystem on flakey device"
 _init_flakey
 _load_flakey_table $FLAKEY_ALLOW_WRITES