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?
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.
Author: Dave Chinner <david@xxxxxxxxxxxxx>
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@xxxxxxxxxxxxx>
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
diff --git a/007 b/007
index e8c6610..290f716 100755
@@ -50,7 +50,7 @@ num_filenames=100
while [ $i -le $num_filenames ]; do
echo "nametest.$i" >>$sourcefile
- i=`expr $i + 1`
+ let i=$i+1
.... etc ....