Message ID | 167096071510.1750373.2221240504175764288.stgit@magnolia (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fstests: fix broken fuzzing xfs_mdrestore calls | expand |
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 --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() {