Message ID | 1399496087-20431-1-git-send-email-jbacik@fb.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On Wed, May 07, 2014 at 04:54:47PM -0400, Josef Bacik wrote: > I don't have flink support in my xfsprogs, but it doesn't fail with "command not > found" or whatever, it fails because I don't have the -T option. So fix > _require_xfs_io_command to check for an invalid option and not run. This way I > get notrun instead of a failure. Thanks, > > Signed-off-by: Josef Bacik <jbacik@fb.com> > --- > common/rc | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/common/rc b/common/rc > index 5c13db5..4fa7e63 100644 > --- a/common/rc > +++ b/common/rc > @@ -1258,6 +1258,8 @@ _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?)" > + echo $testio | grep -q "invalid option" && \ > + _notrun "xfs_io $command support is missing" > } Yeah, looks like it throws a different error - it treats -T as an option, not a command. Rather than multiple checks that result in the same error, why not just: - echo $testio | grep -q "not found" && \ + echo $testio | egrep -q 'not found|invalid option' && \ _notrun "xfs_io $command support is missing" Cheers, Dave.
On 5/7/14, 3:54 PM, Josef Bacik wrote: > I don't have flink support in my xfsprogs, but it doesn't fail with "command not > found" or whatever, it fails because I don't have the -T option. So fix > _require_xfs_io_command to check for an invalid option and not run. This way I > get notrun instead of a failure. Thanks, This actually doesn't work for me on an old kernel, if that matters; it fails with: /mnt/test: Is a directory and nothing catches that. Old xfsprogs tries to open the file in question RDWR even before it gets to the -T option (which would fail, I guess), and you can't do that for directories. So I suppose we could explicitly test for that when checking flink: [ $command = "flink" ] && echo $testio | grep -q "Is a directory" && \ _notrun "xfs_io flink support is missing" or alternately, first just run xfs_io w/ the command but no file; today, at least, that works: [root@bp-05 xfstests]# xfs_io -c flink command "flink" not found [root@bp-05 xfstests]# xfs_io -c pread [root@bp-05 xfstests]# so could do this before the case statement: $XFS_IO_PROG -c $command 2>&1 | grep -q "not found" && \ _notrun "xfs_io $command support is missing" but that might be subject to future changes in xfs_io command parsing... -Eric > Signed-off-by: Josef Bacik <jbacik@fb.com> > --- > common/rc | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/common/rc b/common/rc > index 5c13db5..4fa7e63 100644 > --- a/common/rc > +++ b/common/rc > @@ -1258,6 +1258,8 @@ _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?)" > + echo $testio | grep -q "invalid option" && \ > + _notrun "xfs_io $command support is missing" > } > > # Check that a fs has enough free space (in 1024b blocks) > -- 1.8.3.1 _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs > -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/common/rc b/common/rc index 5c13db5..4fa7e63 100644 --- a/common/rc +++ b/common/rc @@ -1258,6 +1258,8 @@ _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?)" + echo $testio | grep -q "invalid option" && \ + _notrun "xfs_io $command support is missing" } # Check that a fs has enough free space (in 1024b blocks)
I don't have flink support in my xfsprogs, but it doesn't fail with "command not found" or whatever, it fails because I don't have the -T option. So fix _require_xfs_io_command to check for an invalid option and not run. This way I get notrun instead of a failure. Thanks, Signed-off-by: Josef Bacik <jbacik@fb.com> --- common/rc | 2 ++ 1 file changed, 2 insertions(+)