[PATCH 1/4] common/populate: create helpers to handle restoring metadumps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Darrick J. Wong <djwong@xxxxxxxxxx>

Refactor _scratch_populate_restore_cached so that the actual commands
for restoring metadumps are filesystem-specific helpers.

Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx>
---
 common/ext4     |   10 ++++++++++
 common/fuzzy    |    2 +-
 common/populate |    4 ++--
 common/xfs      |    9 +++++++++
 4 files changed, 22 insertions(+), 3 deletions(-)


diff --git a/common/ext4 b/common/ext4
index 4a2eaa157f..dc2e4e59cc 100644
--- a/common/ext4
+++ b/common/ext4
@@ -125,6 +125,16 @@ _ext4_metadump()
 		$DUMP_COMPRESSOR -f "$dumpfile" &>> "$seqres.full"
 }
 
+_ext4_mdrestore()
+{
+	local metadump="$1"
+	local device="$2"
+	shift; shift
+	local options="$@"
+
+	$E2IMAGE_PROG $options -r "${metadump}" "${SCRATCH_DEV}"
+}
+
 # this test requires the ext4 kernel support crc feature on scratch device
 #
 _require_scratch_ext4_crc()
diff --git a/common/fuzzy b/common/fuzzy
index 2d688fd27b..fad79124e5 100644
--- a/common/fuzzy
+++ b/common/fuzzy
@@ -159,7 +159,7 @@ __scratch_xfs_fuzz_mdrestore()
 	test -e "${POPULATE_METADUMP}" || _fail "Need to set POPULATE_METADUMP"
 
 	__scratch_xfs_fuzz_unmount
-	$XFS_MDRESTORE_PROG "${POPULATE_METADUMP}" "${SCRATCH_DEV}"
+	_xfs_mdrestore "${POPULATE_METADUMP}" "${SCRATCH_DEV}"
 }
 
 __fuzz_notify() {
diff --git a/common/populate b/common/populate
index 6e00499734..f382c40aca 100644
--- a/common/populate
+++ b/common/populate
@@ -861,7 +861,7 @@ _scratch_populate_restore_cached() {
 
 	case "${FSTYP}" in
 	"xfs")
-		$XFS_MDRESTORE_PROG "${metadump}" "${SCRATCH_DEV}"
+		_xfs_mdrestore "${metadump}" "${SCRATCH_DEV}"
 		res=$?
 		test $res -ne 0 && return $res
 
@@ -876,7 +876,7 @@ _scratch_populate_restore_cached() {
 		return $res
 		;;
 	"ext2"|"ext3"|"ext4")
-		$E2IMAGE_PROG -r "${metadump}" "${SCRATCH_DEV}"
+		_ext4_mdrestore "${metadump}" "${SCRATCH_DEV}"
 		ret=$?
 		test $ret -ne 0 && return $ret
 
diff --git a/common/xfs b/common/xfs
index f466d2c42f..27d6ac84e3 100644
--- a/common/xfs
+++ b/common/xfs
@@ -638,6 +638,15 @@ _xfs_metadump() {
 	return $res
 }
 
+_xfs_mdrestore() {
+	local metadump="$1"
+	local device="$2"
+	shift; shift
+	local options="$@"
+
+	$XFS_MDRESTORE_PROG $options "${metadump}" "${device}"
+}
+
 # Snapshot the metadata on the scratch device
 _scratch_xfs_metadump()
 {




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux