diff mbox series

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

Message ID 167096071510.1750373.2221240504175764288.stgit@magnolia (mailing list archive)
State New, archived
Headers show
Series fstests: fix broken fuzzing xfs_mdrestore calls | expand

Commit Message

Darrick J. Wong Dec. 13, 2022, 7:45 p.m. UTC
From: Darrick J. Wong <djwong@kernel.org>

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

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

Comments

Zorro Lang Dec. 17, 2022, 6:24 a.m. UTC | #1
On Tue, Dec 13, 2022 at 11:45:15AM -0800, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
> 
> Refactor _scratch_populate_restore_cached so that the actual commands
> for restoring metadumps are filesystem-specific helpers.
> 
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---

Looks good to me,
Reviewed-by: Zorro Lang <zlang@redhat.com>

>  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()
>  {
>
diff mbox series

Patch

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()
 {