On 7/19/16 9:52 PM, Eryu Guan wrote: > On Tue, Jul 19, 2016 at 10:30:47AM +0200, Christoph Hellwig wrote: >> On Mon, Jul 18, 2016 at 11:49:57PM -0700, Eric Sandeen wrote: >>> Some tests actually do run xfs_io on a real file, but we probably >>> don't want to go that way. >>> >>> The test for finding it in help output seems way too specific, >>> >>> _require_xfs_io_command "pwrite" "-Z" >>> >>> fails as well because it doesn't hit the specific format in >>> the grep. >>> >>> What if we loosen up the test; is this too loose? (look for param >>> preceded by whitespace or square bracket) >> >> Seems like it's not loose enough as it still tries to run the test >> on NFS. > > For this NFSv4.2 case, I think we have to actually run "falloc -k" to > check whether the underlying fs supports (FALLOC_FL_KEEP_SIZE) or not. > > Current check in _require_xfs_io_command only checks whether xfs_io > knows the given option, not the underlying fs. And in this NFSv4.2 case, > NFSv4.2 supports fallocate(2), and xfs_io falloc command knows "-k" > option, so test runs on NFS. Oh right, sorry. So, this? diff --git a/common/rc b/common/rc index 6add69e..f087813 100644 --- a/common/rc +++ b/common/rc @@ -1880,7 +1880,7 @@ _require_xfs_io_command() testfile=$TEST_DIR/$$.xfs_io case $command in "falloc" ) - testio=`$XFS_IO_PROG -F -f -c "falloc 0 1m" $testfile 2>&1` + testio=`$XFS_IO_PROG -F -f -c "falloc $param 0 1m" $testfile 2>&1` ;; "fpunch" | "fcollapse" | "zero" | "fzero" | "finsert" ) testio=`$XFS_IO_PROG -F -f -c "pwrite 0 20k" -c "fsync" \ -Eric -- 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