diff options
author | Amir Goldstein <amir73il@gmail.com> | 2018-05-06 09:36:07 +0300 |
---|---|---|
committer | Eryu Guan <guaneryu@gmail.com> | 2018-05-11 18:40:04 +0800 |
commit | c29a70330fdf4f3ce4e7ba3a28e05fc45cf1a96b (patch) | |
tree | 8ef8769ba6ed1d584909207fd54e9d15a0cc734a | |
parent | 272ddcdd191e2979a3d03fd5b8e3dde7ef9233eb (diff) | |
download | xfstests-dev-c29a70330fdf4f3ce4e7ba3a28e05fc45cf1a96b.tar.gz |
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 <amir73il@gmail.com>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
-rw-r--r-- | common/rc | 15 | ||||
-rwxr-xr-x | tests/btrfs/058 | 4 | ||||
-rwxr-xr-x | tests/generic/004 | 1 | ||||
-rwxr-xr-x | tests/generic/389 | 1 |
4 files changed, 14 insertions, 7 deletions
@@ -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 ed39f94332..f139d0cc34 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 d0926f117c..df6f215a6d 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 6d63eda1e2..1b7bd770ef 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 |