diff mbox series

[06/10] xfs/{129,234,253,605}: disable metadump v1 testing with external devices

Message ID 170620924449.3283496.4305194198701650108.stgit@frogsfrogsfrogs (mailing list archive)
State New, archived
Headers show
Series [01/10] generic/256: constrain runtime with TIME_FACTOR | expand

Commit Message

Darrick J. Wong Jan. 25, 2024, 7:05 p.m. UTC
From: Darrick J. Wong <djwong@kernel.org>

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>
---
 common/xfs_metadump_tests |   25 ++++++++++++++++++++-----
 tests/xfs/605             |    9 ---------
 2 files changed, 20 insertions(+), 14 deletions(-)

Comments

Christoph Hellwig Jan. 26, 2024, 1:34 p.m. UTC | #1
Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>
diff mbox series

Patch

diff --git a/common/xfs_metadump_tests b/common/xfs_metadump_tests
index dd3dec1fb4..fdc3a1fb10 100644
--- a/common/xfs_metadump_tests
+++ b/common/xfs_metadump_tests
@@ -23,6 +23,24 @@  _cleanup_verify_metadump()
 	rm -f "$XFS_METADUMP_FILE" "$XFS_METADUMP_IMG"*
 }
 
+# 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.
 _verify_metadump_v1()
@@ -115,9 +133,6 @@  _verify_metadump_v2()
 # Verify both metadump formats if possible
 _verify_metadumps()
 {
-	_verify_metadump_v1 "$@"
-
-	if [[ $MAX_XFS_METADUMP_FORMAT == 2 ]]; then
-		_verify_metadump_v2 "$@"
-	fi
+	_scratch_xfs_can_metadump_v1 && _verify_metadump_v1 "$@"
+	_scratch_xfs_can_metadump_v2 && _verify_metadump_v2 "$@"
 }
diff --git a/tests/xfs/605 b/tests/xfs/605
index af917f0f32..4b6ffcb2b4 100755
--- a/tests/xfs/605
+++ b/tests/xfs/605
@@ -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