]> git.apps.os.sepia.ceph.com Git - xfstests-dev.git/commitdiff
fstests: do not call _scratch_mkfs_sized in a pipe
authorEryu Guan <eguan@redhat.com>
Sun, 5 Nov 2017 06:14:11 +0000 (14:14 +0800)
committerEryu Guan <eguan@redhat.com>
Fri, 10 Nov 2017 04:33:38 +0000 (12:33 +0800)
_scratch_mkfs_sized will create a filesystem of the given size, and
call _notrun and exit if current $FSTYP doesn't support sized mkfs.
But when it's called in a pipe, the exit in _notrun only exits from
the subshell created by the pipe not the test itself, and test
continues to run unnecessarily, though the test is still reported as
[notrun] due to existence of $seqres.notrun file.

Fix it by not calling _scratch_mkfs_sized in a pipe, but dumping the
output to a tmp file, which will be fed to _filter_mkfs later.

Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/generic/204
tests/xfs/015

index 4c203a213f5bd273efb406caceda561fcfe56b54..ebc9c0fa001bf6db6b392b3dc088fb55861869d9 100755 (executable)
@@ -58,8 +58,8 @@ _scratch_mkfs 2> /dev/null | _filter_mkfs 2> $tmp.mkfs > /dev/null
 [ $FSTYP = "xfs" ] && MKFS_OPTIONS="$MKFS_OPTIONS -l size=16m -i maxpct=50"
 
 SIZE=`expr 115 \* 1024 \* 1024`
-_scratch_mkfs_sized $SIZE $dbsize 2> /dev/null \
-               | _filter_mkfs 2> $tmp.mkfs > /dev/null
+_scratch_mkfs_sized $SIZE $dbsize 2> /dev/null > $tmp.mkfs.raw
+cat $tmp.mkfs.raw | _filter_mkfs 2> $tmp.mkfs > /dev/null
 _scratch_mount
 
 # Source $tmp.mkfs to get geometry
index 55666a8e34730b2e773f01b588cfbafa0fed6fba..2c57f7882308fe0454328762e461e105ea5d5343 100755 (executable)
@@ -74,7 +74,8 @@ _scratch_unmount
 
 rm -f $seqres.full
 
-_scratch_mkfs_sized $((16 * 1024 * 1024)) | _filter_mkfs >$seqres.full 2>$tmp.mkfs
+_scratch_mkfs_sized $((16 * 1024 * 1024)) > $tmp.mkfs.raw
+cat $tmp.mkfs.raw | _filter_mkfs >$seqres.full 2>$tmp.mkfs
 # get original data blocks number and agcount
 . $tmp.mkfs
 _scratch_mount