Extend _require_xfs_io_command so that we can pass it a command line
argument to look for, and then use new capabililty in the relevant
tests to ensure that bmap knows how to dump CoW fork contents (bmap -c)

Signed-off-by: Darrick J. Wong <darrick.w...@oracle.com>
---
 common/rc     |    9 +++++++--
 tests/xfs/243 |    1 +
 tests/xfs/245 |    1 +
 tests/xfs/246 |    1 +
 4 files changed, 10 insertions(+), 2 deletions(-)


diff --git a/common/rc b/common/rc
index b11f170..e810062 100644
--- a/common/rc
+++ b/common/rc
@@ -1831,12 +1831,13 @@ _user_do()
 
 _require_xfs_io_command()
 {
-       if [ $# -ne 1 ]
+       if [ -z "$1" ]
        then
-               echo "Usage: _require_xfs_io_command command" 1>&2
+               echo "Usage: _require_xfs_io_command command [switch]" 1>&2
                exit 1
        fi
        command=$1
+       param=$2
 
        testfile=$TEST_DIR/$$.xfs_io
        case $command in
@@ -1866,6 +1867,10 @@ _require_xfs_io_command()
                _notrun "xfs_io $command support is missing"
        echo $testio | grep -q "Operation not supported" && \
                _notrun "xfs_io $command failed (old kernel/wrong fs?)"
+
+       test -z "$param" && return
+       $XFS_IO_PROG -c "help $command" | grep -q "^ $param --" || \
+               _notrun "xfs_io $command doesn't support $param"
 }
 
 # check that xfs_db supports a specific command
diff --git a/tests/xfs/243 b/tests/xfs/243
index 629173e..d75cfd8 100755
--- a/tests/xfs/243
+++ b/tests/xfs/243
@@ -56,6 +56,7 @@ _supported_fs xfs
 _require_scratch_reflink
 _require_xfs_io_command "falloc"
 _require_xfs_io_command "fpunch"
+_require_xfs_io_command "bmap" "-c"
 _require_cp_reflink
 
 rm -f $seqres.full
diff --git a/tests/xfs/245 b/tests/xfs/245
index 6da701d..7f80260 100755
--- a/tests/xfs/245
+++ b/tests/xfs/245
@@ -49,6 +49,7 @@ _supported_os Linux
 _supported_fs xfs
 _require_scratch_reflink
 _require_xfs_io_command "falloc"
+_require_xfs_io_command "bmap" "-c"
 _require_cp_reflink
 
 rm -f $seqres.full
diff --git a/tests/xfs/246 b/tests/xfs/246
index 13b0c98..bf471cc 100755
--- a/tests/xfs/246
+++ b/tests/xfs/246
@@ -42,6 +42,7 @@ _cleanup()
 # real QA test starts here
 _supported_os Linux
 _supported_fs xfs
+_require_xfs_io_command "bmap" "-c"
 
 rm -f $seqres.full
 

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to