From d172db236c883c3a4111fe040234c5c58c085dcb Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Fri, 19 Feb 2016 10:51:25 +1100 Subject: [PATCH] xfs/24[356]: check for -c switch to xfs_io bmap command 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 Reviewed-by: Christoph Hellwig Signed-off-by: Dave Chinner --- 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 0dc3f0fa..3e98bcb8 100644 --- a/common/rc +++ b/common/rc @@ -1852,12 +1852,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 @@ -1887,6 +1888,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 b616adfd..f6a86924 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 c7455926..c668eebc 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 13b0c982..bf471ccd 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 -- 2.39.5