Files
apfstests/047
T
Dave Chinner e714acc0ef reduce the number of processes forked
One of the big cpu time consumers when running xfsqa on UML
is forking of new processes. when looping lots of times,
using 'expr' to calculate the loop counter increment means
we fork at least once every loop. using shell builtins means
that we don't fork and many tests run substantially faster.

Some tests are even runnable with this modification. e.g. 110
went from taking 4500s to run down to 9s with the loop iterators
changed to avoid forking.

Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2009-03-25 20:53:36 +01:00

72 lines
1.3 KiB
Bash
Executable File

#! /bin/sh
# FS QA Test No. 047
#
# invutil with interactive responses
#
#-----------------------------------------------------------------------
# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved.
#-----------------------------------------------------------------------
#
# creator
owner=tes@sgi.com
seq=`basename $0`
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
# get standard environment, filters and checks
. ./common.rc
. ./common.dump
# real QA test starts here
_supported_fs xfs
_supported_os IRIX Linux
# wipe test dir clean first
# so dump can be real quick
_wipe_fs
#
# Create 5 dumps
# and on the 3rd dump note the date
# which we'll use to prune against using xfsinvutil
#
i=0
while [ $i -lt 5 ]; do
_do_dump_file -L "session.$i"
if [ $i -eq 2 ]; then
sleep 1
middate=`date '+%m/%d/%Y %T'`
fi
rm $dump_file
sleep 2
let i=$i+1
done
echo "middate = $middate" >>$seq.full
# Only say No to 1st question to prune
cat >$tmp.input <<EOF
N
Y
Y
Y
Y
EOF
#
# Now do the xfsinvutil and
# look and the inventory before and after
# to see if it did the job
#
_dump_inventory
_do_invutil <$tmp.input
_dump_inventory
status=0
exit