From: Eryu Guan Date: Sun, 6 Nov 2016 17:43:33 +0000 (+0800) Subject: fstests: make xfs_io mandatory X-Git-Tag: v2022.05.01~2309 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ae254a9f9f6e228c69dca0d7210f198174ba8739;p=xfstests-dev.git fstests: make xfs_io mandatory _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. Reviewed-by: Dave Chinner Signed-off-by: Eryu Guan --- diff --git a/common/config b/common/config index 59638d69..f0f08d24 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 e3b54ecb..f33bbc6a 100644 --- a/common/rc +++ b/common/rc @@ -2911,30 +2911,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 cee42d65..bf9eb2f9 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 cbe884f3..48b8c59c 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