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.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
_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
_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
_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
_supported_fs xfs
_require_scratch_reflink
_require_xfs_io_command "falloc"
+_require_xfs_io_command "bmap" "-c"
_require_cp_reflink
rm -f $seqres.full
# real QA test starts here
_supported_os Linux
_supported_fs xfs
+_require_xfs_io_command "bmap" "-c"
rm -f $seqres.full