From: Amir Goldstein Date: Sun, 6 May 2018 06:36:07 +0000 (+0300) Subject: common/rc: decouple xfs_io flink check from xfs_io -T check X-Git-Tag: v2022.05.01~1568 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=c29a70330fdf4f3ce4e7ba3a28e05fc45cf1a96b;p=xfstests-dev.git common/rc: decouple xfs_io flink check from xfs_io -T check The 3 tests that _require_xfs_io_command "flink", actually require O_TMPFILE support and flink command, but the former is far unlikely to be missing. The test btrfs/058 doesn't even use the flink command. When running these tests on a filesystem that does not support O_TMPFILE (e.g. overlayfs) the result is not very infomative: generic/004 1s ... [not run] xfs_io flink failed (old kernel/wrong fs?) Decouple the requirements for "flink" command and "-T" command line flag and require the former explicitly in tests that use it. As a result the report is now more informative: generic/004 1s ... [not run] O_TMPFILE is not supported Signed-off-by: Amir Goldstein Reviewed-by: Eryu Guan Signed-off-by: Eryu Guan --- diff --git a/common/rc b/common/rc index ee677e7d..ffe53236 100644 --- a/common/rc +++ b/common/rc @@ -2126,13 +2126,20 @@ _require_xfs_io_command() -c "fiemap -v $param" $testfile 2>&1` param_checked=1 ;; - "flink" ) - testio=`$XFS_IO_PROG -T -F -c "flink $testfile" \ - $TEST_DIR 2>&1` + "flink") + local testlink=$TEST_DIR/$$.link.xfs_io + testio=`$XFS_IO_PROG -F -f -c "flink $testlink" $testfile 2>&1` + rm -f $testlink > /dev/null 2>&1 + ;; + "-T") + # Check O_TMPFILE support in xfs_io, kernel and fs + testio=`$XFS_IO_PROG -T -c quit $TEST_DIR 2>&1` echo $testio | egrep -q "invalid option|Is a directory" && \ _notrun "xfs_io $command support is missing" + echo $testio | grep -q "Operation not supported" && \ + _notrun "O_TMPFILE is not supported" ;; - "fsmap" ) + "fsmap") testio=`$XFS_IO_PROG -f -c "fsmap" $testfile 2>&1` echo $testio | grep -q "Inappropriate ioctl" && \ _notrun "xfs_io $command support is missing" diff --git a/tests/btrfs/058 b/tests/btrfs/058 index ed39f943..f139d0cc 100755 --- a/tests/btrfs/058 +++ b/tests/btrfs/058 @@ -53,9 +53,7 @@ _cleanup() _supported_fs btrfs _supported_os Linux _require_scratch -# Requiring flink command tests for the presence of the -T option used -# to pass O_TMPFILE to open(2). -_require_xfs_io_command "flink" +_require_xfs_io_command "-T" rm -f $seqres.full diff --git a/tests/generic/004 b/tests/generic/004 index d0926f11..df6f215a 100755 --- a/tests/generic/004 +++ b/tests/generic/004 @@ -45,6 +45,7 @@ _supported_fs generic _supported_os Linux _require_test +_require_xfs_io_command "-T" _require_xfs_io_command "flink" rm -f $seqres.full diff --git a/tests/generic/389 b/tests/generic/389 index 6d63eda1..1b7bd770 100755 --- a/tests/generic/389 +++ b/tests/generic/389 @@ -47,6 +47,7 @@ _supported_fs generic _supported_os Linux _require_test +_require_xfs_io_command "-T" _require_xfs_io_command "flink" _require_acls