From: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> There are some parameters added with xfs_io. Check if the pwrite parameters are available. For some cases, xfs_io now returns "command -%c not supported", so added "not supported" to count as error. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> Change since v2: - More comments - opts to become local variable --- common/rc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/common/rc b/common/rc index 4c053a53..90408b7e 100644 --- a/common/rc +++ b/common/rc @@ -2035,6 +2035,7 @@ _require_xfs_io_command() shift local param="$*" local param_checked=0 + local opts="" testfile=$TEST_DIR/$$.xfs_io case $command in @@ -2079,6 +2080,15 @@ _require_xfs_io_command() echo $testio | grep -q "invalid option" && \ _notrun "xfs_io $command support is missing" ;; + "pwrite") + # -N (RWF_NOWAIT) only works with direct I/O writes + if [ "$param" == "-N" ]; then + opts+=" -d" + fi + testio=`$XFS_IO_PROG -f $opts -c "pwrite $param 0 1M" \ + $testfile 2>&1` + param_checked=1 + ;; "scrub"|"repair") testio=`$XFS_IO_PROG -x -c "$command probe 0" $TEST_DIR 2>&1` echo $testio | grep -q "Inappropriate ioctl" && \ @@ -2109,7 +2119,9 @@ _require_xfs_io_command() $XFS_IO_PROG -c "help $command" | grep -q "^ $param --" || \ _notrun "xfs_io $command doesn't support $param" else - echo $testio | grep -q "invalid option" && \ + # xfs_io could result in "command %c not supported" if it was + # built on kernels not supporting pwritev2() calls + echo $testio | grep -q "\(invalid option\|not supported\)" && \ _notrun "xfs_io $command doesn't support $param" fi } -- 2.14.2 -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html