From: Xiao Yang Date: Wed, 17 May 2017 01:42:33 +0000 (+0800) Subject: common: cleanup _require_xfs_io_command X-Git-Tag: v2022.05.01~2049 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=704c27f69fa13f0ba14f458deeac2df1a7a5f5ff;p=xfstests-dev.git common: cleanup _require_xfs_io_command We don't need to check specific flags at the end of this function if we have checked them before. e.g, generic/071 and generic/422 are marked as notrun unexpectedly because xfs_io doesn't support long-format help for falloc before xfsprogs v4.9. Actually, xfs_io has supported falloc, so these case should not be marked as notrun. [eguan: declare local vars as local, rename param_check to param_checked] Signed-off-by: Xiao Yang Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/common/rc b/common/rc index 539f153d..a7af1f20 100644 --- a/common/rc +++ b/common/rc @@ -2038,9 +2038,10 @@ _require_xfs_io_command() echo "Usage: _require_xfs_io_command command [switch]" 1>&2 exit 1 fi - command=$1 + local command=$1 shift - param="$*" + local param="$*" + local param_checked=0 testfile=$TEST_DIR/$$.xfs_io case $command in @@ -2055,6 +2056,7 @@ _require_xfs_io_command() ;; "falloc" ) testio=`$XFS_IO_PROG -F -f -c "falloc $param 0 1m" $testfile 2>&1` + param_checked=1 ;; "fpunch" | "fcollapse" | "zero" | "fzero" | "finsert" | "funshare") testio=`$XFS_IO_PROG -F -f -c "pwrite 0 20k" -c "fsync" \ @@ -2063,6 +2065,7 @@ _require_xfs_io_command() "fiemap") testio=`$XFS_IO_PROG -F -f -c "pwrite 0 20k" -c "fsync" \ -c "fiemap -v $param" $testfile 2>&1` + param_checked=1 ;; "flink" ) testio=`$XFS_IO_PROG -T -F -c "flink $testfile" \ @@ -2087,7 +2090,7 @@ _require_xfs_io_command() testio=`$XFS_IO_PROG -f -c "utimes" 0 0 0 0 $testfile 2>&1` ;; *) - testio=`$XFS_IO_PROG -c "$command help" 2>&1` + testio=`$XFS_IO_PROG -c "help $command" 2>&1` esac rm -f $testfile 2>&1 > /dev/null @@ -2100,9 +2103,10 @@ _require_xfs_io_command() echo $testio | grep -q "foreign file active" && \ _notrun "xfs_io $command not supported on $FSTYP" - test -z "$param" && return - $XFS_IO_PROG -c "help $command" | grep -q "^ $param --" || \ - _notrun "xfs_io $command doesn't support $param" + if [ -n "$param" -a $param_checked -eq 0 ]; then + $XFS_IO_PROG -c "help $command" | grep -q "^ $param --" || \ + _notrun "xfs_io $command doesn't support $param" + fi } # check that kernel and filesystem support direct I/O