Message ID | 1478456601-7085-1-git-send-email-eguan@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Nov 07, 2016 at 02:23:21AM +0800, Eryu Guan wrote: > _test_inode_flag() and _test_inode_extsz() use "which $XFS_IO_PROG" > to check if xfs_io command is available. And "-i" option was added > to XFS_IO_PROG varibable by commit 54659ecdb575 ("fstests: run > xfs_io with -i option if supported"). So the command becomes "which > /usr/sbin/xfs_io -i", and it stops and waits for input from stdin, > because "-i" option of "which" means "Read aliases from stdin". Funnily enough, I looked at those functions a couple of days ago and thought "wow, they must have been written a long time ago if they are trying to work if xfs_io is installed"... > I've seen xfs/008 hang when testing with latest xfsprogs, where > xfs_io has "-i" support. > > Fix it by removing the xfs_io command detections, and making xfs_io > mandatory in common/config. > > Also fix the indentions in these functions, use tab instead of > spaces, while we're at it. Yeah, I noticed that too :P > Signed-off-by: Eryu Guan <eguan@redhat.com> > --- > common/config | 4 +++- > common/rc | 24 ++++++++++-------------- > tests/xfs/094 | 1 - > tests/xfs/103 | 1 - > 4 files changed, 13 insertions(+), 17 deletions(-) > > diff --git a/common/config b/common/config > index 168f46c..0b6cf01 100644 > --- a/common/config > +++ b/common/config > @@ -158,11 +158,13 @@ export DF_PROG="`set_prog_path df`" > [ "$DF_PROG" = "" ] && _fatal "df not found" > [ "$HOSTOS" = "Linux" ] && export DF_PROG="$DF_PROG -T -P" > > +export XFS_IO_PROG="`set_prog_path xfs_io`" > +[ "$XFS_IO_PROG" = "" ] && _fatal "xfs_io not found" > + Yup, seems like a reasonable thing to do at this point. Reviewed-by: Dave Chinner <dchinner@redhat.com>
Looks good:
Reviewed-by: Christoph Hellwig <hch@lst.de>
--
To unsubscribe from this list: send the line "unsubscribe fstests" 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/config b/common/config index 168f46c..0b6cf01 100644 --- a/common/config +++ b/common/config @@ -158,11 +158,13 @@ export DF_PROG="`set_prog_path df`" [ "$DF_PROG" = "" ] && _fatal "df not found" [ "$HOSTOS" = "Linux" ] && export DF_PROG="$DF_PROG -T -P" +export XFS_IO_PROG="`set_prog_path xfs_io`" +[ "$XFS_IO_PROG" = "" ] && _fatal "xfs_io not found" + export XFS_LOGPRINT_PROG="`set_prog_path xfs_logprint`" export XFS_REPAIR_PROG="`set_prog_path xfs_repair`" export XFS_DB_PROG="`set_prog_path xfs_db`" export XFS_GROWFS_PROG=`set_prog_path xfs_growfs` -export XFS_IO_PROG="`set_prog_path xfs_io`" export XFS_SCRUB_PROG="`set_prog_path xfs_scrub`" export XFS_PARALLEL_REPAIR_PROG="`set_prog_path xfs_prepair`" export XFS_PARALLEL_REPAIR64_PROG="`set_prog_path xfs_prepair64`" diff --git a/common/rc b/common/rc index a84efe4..088ede6 100644 --- a/common/rc +++ b/common/rc @@ -2896,30 +2896,26 @@ _populate_fs() # _test_inode_flag() { - flag=$1 - file=$2 + flag=$1 + file=$2 - if which $XFS_IO_PROG >/dev/null; then - if $XFS_IO_PROG -r -c 'lsattr -v' "$file" | grep -q "$flag" ; then - return 0 - fi - fi - return 1 + if $XFS_IO_PROG -r -c 'lsattr -v' "$file" | grep -q "$flag" ; then + return 0 + fi + return 1 } # query the given files extsize allocator hint in bytes (if any) # _test_inode_extsz() { - file=$1 - blocks="" + file=$1 + blocks="" - if which $XFS_IO_PROG >/dev/null; then blocks=`$XFS_IO_PROG -r -c 'stat' "$file" | \ awk '/^xattr.extsize =/ { print $3 }'` - fi - [ -z "$blocks" ] && blocks="0" - echo $blocks + [ -z "$blocks" ] && blocks="0" + echo $blocks } # scratch_dev_pool should contain the disks pool for the btrfs raid diff --git a/tests/xfs/094 b/tests/xfs/094 index cee42d6..bf9eb2f 100755 --- a/tests/xfs/094 +++ b/tests/xfs/094 @@ -46,7 +46,6 @@ _supported_fs xfs _supported_os IRIX Linux _require_realtime _require_scratch -_require_command "$XFS_IO_PROG" xfs_io _filter_realtime_flag() { diff --git a/tests/xfs/103 b/tests/xfs/103 index cbe884f..48b8c59 100755 --- a/tests/xfs/103 +++ b/tests/xfs/103 @@ -66,7 +66,6 @@ _filter_noymlinks_flag() # real QA test starts here _supported_os Linux IRIX _supported_fs xfs -_require_command "$XFS_IO_PROG" xfs_io _require_scratch _create_scratch
_test_inode_flag() and _test_inode_extsz() use "which $XFS_IO_PROG" to check if xfs_io command is available. And "-i" option was added to XFS_IO_PROG varibable by commit 54659ecdb575 ("fstests: run xfs_io with -i option if supported"). So the command becomes "which /usr/sbin/xfs_io -i", and it stops and waits for input from stdin, because "-i" option of "which" means "Read aliases from stdin". I've seen xfs/008 hang when testing with latest xfsprogs, where xfs_io has "-i" support. Fix it by removing the xfs_io command detections, and making xfs_io mandatory in common/config. Also fix the indentions in these functions, use tab instead of spaces, while we're at it. Signed-off-by: Eryu Guan <eguan@redhat.com> --- common/config | 4 +++- common/rc | 24 ++++++++++-------------- tests/xfs/094 | 1 - tests/xfs/103 | 1 - 4 files changed, 13 insertions(+), 17 deletions(-)