xfs
[Top] [All Lists]

Re: [PATCH] xfstests: made test 215 backwards compatible with older vers

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH] xfstests: made test 215 backwards compatible with older version of bash.
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Wed, 31 Mar 2010 18:47:00 -0500
Cc: Akshay Lal <akshaylal@xxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <20100331223321.GJ7671@dastard>
References: <1270062393-5233-1-git-send-email-akshaylal@xxxxxxxxxx> <20100331223321.GJ7671@dastard>
User-agent: Thunderbird 2.0.0.24 (Macintosh/20100228)
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@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
--- 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 ....

<Prev in Thread] Current Thread [Next in Thread>