Re: [PATCH] xfstests: made test 215 backwards compatible with older version of bash.

Eric Sandeen
2010-03-31T23:45:16Z

Dave Chinner wrote:
> On Wed, Mar 31, 2010 at 12:06:33PM -0700, Akshay Lal wrote:
>> Test 215 fails on older versions of bash (2.x), mainly due to the use of
>> 'let' for arithemetic operations. Changed to 'expr'.
>
> If that is a problem for older bash versions, then there's going
> systemic problems throughout the xfstests suite. The let expression
> is used about 80 different places, and I don't see anything special
> about test 215 that makes it any different from other uses. i might
> be missing something, but there's not much context to go on from
> your changelog....
>
> Perhaps upgrading your version of bash might be a better approach?
>
> Cheers,
>
> Dave.

Also, a wholesale switch from expr to let was done not long ago, for
very specific reasons - see below - so I don't think there's much
interest in going back in the other direction.

Thanks,
-Eric

commit e714acc0ef37031b9a5a522703f2832f139c22e0
Author: Dave Chinner <david@fromorbit.com>
Date: Wed Mar 25 20:53:36 2009 +0100

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>

diff --git a/007 b/007
index e8c6610..290f716 100755
--- a/007
+++ b/007
@@ -50,7 +50,7 @@ num_filenames=100
i=1
while [ $i -le $num_filenames ]; do
echo "nametest.$i" >>$sourcefile
- i=`expr $i + 1`
+ let i=$i+1
done

mkdir $testdir/$seq

.... etc ....