@@ -866,7 +866,7 @@ _scratch_populate_cached() {
"xfs")
_scratch_xfs_populate $@
_scratch_xfs_populate_check
- _scratch_metadump "${POPULATE_METADUMP}" -a -o
+ _scratch_xfs_metadump "${POPULATE_METADUMP}"
;;
"ext2"|"ext3"|"ext4")
_scratch_ext4_populate $@
@@ -490,18 +490,6 @@ _scratch_do_mkfs()
return $mkfs_status
}
-_scratch_metadump()
-{
- local dumpfile=$1
- shift
- local options=
-
- [ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_LOGDEV" ] && \
- options="-l $SCRATCH_LOGDEV"
-
- $XFS_METADUMP_PROG $options "$@" $SCRATCH_DEV $dumpfile
-}
-
_setup_large_ext4_fs()
{
local fs_size=$1
@@ -453,6 +453,19 @@ _xfs_metadump() {
return $res
}
+# Snapshot the metadata on the scratch device
+_scratch_xfs_metadump()
+{
+ local metadump=$1
+ shift
+ local logdev=none
+
+ [ "$USE_EXTERNAL" = yes -a ! -z "$SCRATCH_LOGDEV" ] && \
+ logdev=$SCRATCH_LOGDEV
+
+ _xfs_metadump "$metadump" "$SCRATCH_DEV" "$logdev" nocompress "$@"
+}
+
# run xfs_check and friends on a FS.
_check_xfs_filesystem()
{
@@ -56,7 +56,7 @@ done
echo "Create metadump file"
_scratch_unmount
-_scratch_metadump $metadump_file
+_scratch_xfs_metadump $metadump_file
# Now restore the obfuscated one back and take a look around
echo "Restore metadump"
@@ -56,7 +56,7 @@ done
echo "Create metadump file"
_scratch_unmount
-_scratch_metadump $metadump_file
+_scratch_xfs_metadump $metadump_file
# Now restore the obfuscated one back and take a look around
echo "Restore metadump"
@@ -156,7 +156,7 @@ ls -R | od -c >> $seqres.full
cd $here
_scratch_unmount
-_scratch_metadump $METADUMP_FILE
+_scratch_xfs_metadump $METADUMP_FILE
# Now restore the obfuscated one back and take a look around
xfs_mdrestore "${METADUMP_FILE}" "${SCRATCH_DEV}"
@@ -50,12 +50,12 @@ COPY_FILE="${TEST_DIR}/${seq}_copyfile"
# xfs_metadump should refuse to dump a mounted device
_scratch_mkfs >> $seqres.full 2>&1
_scratch_mount
-_scratch_metadump $METADUMP_FILE 2>&1 | filter_mounted
+_scratch_xfs_metadump $METADUMP_FILE 2>&1 | filter_mounted
_scratch_unmount
# Test restore to a mounted device
# xfs_mdrestore should refuse to restore to a mounted device
-_scratch_metadump $METADUMP_FILE
+_scratch_xfs_metadump $METADUMP_FILE
_scratch_mount
xfs_mdrestore $METADUMP_FILE $SCRATCH_DEV 2>&1 | filter_mounted
_scratch_unmount
@@ -105,7 +105,7 @@ _scratch_xfs_check >> $seqres.full 2>&1 || _fail "xfs_check failed"
# Yes they can! Now...
# Can xfs_metadump cope with this monster?
-_scratch_metadump $tmp.metadump || _fail "xfs_metadump failed"
+_scratch_xfs_metadump $tmp.metadump || _fail "xfs_metadump failed"
xfs_mdrestore $tmp.metadump $tmp.img || _fail "xfs_mdrestore failed"
[ "$USE_EXTERNAL" = yes ] && [ -n "$SCRATCH_RTDEV" ] && \
rt_repair_opts="-r $SCRATCH_RTDEV"
@@ -66,7 +66,7 @@ _scratch_cycle_mount
echo "Create metadump file"
_scratch_unmount
-_scratch_metadump $metadump_file
+_scratch_xfs_metadump $metadump_file
# Now restore the obfuscated one back and take a look around
echo "Restore metadump"
@@ -91,7 +91,7 @@ echo "qualifying extent: $extlen blocks" >> $seqres.full
test -n "$extlen" || _notrun "could not create dir extent > 1000 blocks"
echo "Try to metadump"
-_scratch_metadump $metadump_file -w
+_scratch_xfs_metadump $metadump_file -w
xfs_mdrestore $metadump_file $metadump_img
echo "Check restored metadump image"
@@ -47,16 +47,16 @@ metadump_file_ag=${metadump_file}.ag
copy_file=$testdir/copy.img
echo metadump
-_scratch_metadump $metadump_file >> $seqres.full
+_scratch_xfs_metadump $metadump_file >> $seqres.full
echo metadump a
-_scratch_metadump $metadump_file_a -a >> $seqres.full
+_scratch_xfs_metadump $metadump_file_a -a >> $seqres.full
echo metadump g
-_scratch_metadump $metadump_file_g -g >> $seqres.full
+_scratch_xfs_metadump $metadump_file_g -g >> $seqres.full
echo metadump ag
-_scratch_metadump $metadump_file_ag -a -g >> $seqres.full
+_scratch_xfs_metadump $metadump_file_ag -a -g >> $seqres.full
echo copy
$XFS_COPY_PROG $SCRATCH_DEV $copy_file >> $seqres.full