[PATCH 04/10 v2] xfstests: Allow to recheck options in common/rc
Chandra Seetharaman
sekharan at us.ibm.com
Fri Aug 2 18:50:26 CDT 2013
Reviewed-by: Chandra Seetharaman <sekharan at us.ibm.com>
On Thu, 2013-07-11 at 12:37 +0200, Lukas Czerner wrote:
> Move configuration checks into separate function to allow us to recheck
> the options without the need to reinclude the whole source file which is
> ugly. We still run the check on include.
>
> Signed-off-by: Lukas Czerner <lczerner at redhat.com>
> ---
> common/rc | 74 ++++++++++++++++++++++++++++++++-------------------------------
> 1 file changed, 38 insertions(+), 36 deletions(-)
>
> diff --git a/common/rc b/common/rc
> index fe6bbfc..0dd30a3 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -2131,46 +2131,48 @@ run_check()
> "$@" >> $seqres.full 2>&1 || _fail "failed: '$@'"
> }
>
> -################################################################################
> -
> -if [ "$iam" != new ]
> -then
> - # make some further configuration checks here
> -
> - if [ "$TEST_DEV" = "" ]
> - then
> - echo "common/rc: Error: \$TEST_DEV is not set"
> - exit 1
> - fi
> -
> - # if $TEST_DEV is not mounted, mount it now as XFS
> - if [ -z "`_fs_type $TEST_DEV`" ]
> - then
> - # $TEST_DEV is not mounted
> - if ! _test_mount
> - then
> - echo "common/rc: retrying test device mount with external set"
> - [ "$USE_EXTERNAL" != "yes" ] && export USE_EXTERNAL=yes
> - if ! _test_mount
> - then
> - echo "common/rc: could not mount $TEST_DEV on $TEST_DIR"
> - exit 1
> - fi
> - fi
> - fi
> +init_rc()
> +{
> + if [ "$iam" == new ]
> + then
> + return
> + fi
> + # make some further configuration checks here
> + if [ "$TEST_DEV" = "" ]
> + then
> + echo "common/rc: Error: \$TEST_DEV is not set"
> + exit 1
> + fi
>
> - if [ "`_fs_type $TEST_DEV`" != "$FSTYP" ]
> - then
> - echo "common/rc: Error: \$TEST_DEV ($TEST_DEV) is not a MOUNTED $FSTYP filesystem"
> - $DF_PROG $TEST_DEV
> - exit 1
> - fi
> + # if $TEST_DEV is not mounted, mount it now as XFS
> + if [ -z "`_fs_type $TEST_DEV`" ]
> + then
> + # $TEST_DEV is not mounted
> + if ! _test_mount
> + then
> + echo "common/rc: retrying test device mount with external set"
> + [ "$USE_EXTERNAL" != "yes" ] && export USE_EXTERNAL=yes
> + if ! _test_mount
> + then
> + echo "common/rc: could not mount $TEST_DEV on $TEST_DIR"
> + exit 1
> + fi
> + fi
> + fi
>
> - # Figure out if we need to add -F ("foreign", deprecated) option to xfs_io
> - xfs_io -c stat $TEST_DIR 2>&1 | grep -q "is not on an XFS filesystem" && \
> + if [ "`_fs_type $TEST_DEV`" != "$FSTYP" ]
> + then
> + echo "common/rc: Error: \$TEST_DEV ($TEST_DEV) is not a MOUNTED $FSTYP filesystem"
> + $DF_PROG $TEST_DEV
> + exit 1
> + fi
> + # Figure out if we need to add -F ("foreign", deprecated) option to xfs_io
> + xfs_io -c stat $TEST_DIR 2>&1 | grep -q "is not on an XFS filesystem" && \
> export XFS_IO_PROG="$XFS_IO_PROG -F"
> +}
>
> -fi
> +init_rc
>
> +################################################################################
> # make sure this script returns success
> /bin/true
More information about the xfs
mailing list