xfs
[Top] [All Lists]

Re: xfstests: MKFS_OPTIONS is not being reinitialized

To: Boris Ranto <branto@xxxxxxxxxx>
Subject: Re: xfstests: MKFS_OPTIONS is not being reinitialized
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Thu, 18 Nov 2010 14:00:31 -0600
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <718862571.1487061290102036972.JavaMail.root@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <718862571.1487061290102036972.JavaMail.root@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.12) Gecko/20101027 Thunderbird/3.1.6
On 11/18/10 11:40 AM, Boris Ranto wrote:
> 
> ----- "Dave Chinner" <david@xxxxxxxxxxxxx> wrote:
> 
>> On Wed, Nov 17, 2010 at 04:49:58PM +0100, Boris Ranto wrote:
>>> Test case 223 constantly fails because the variable carrying
>>> mkfs options is not being reinitialized.
>>> 
>>> Test calls function _scratch_mkfs_geom repeatedly in for loop
>> without
>>> cleaning the MKFS_OPTIONS variable. Since _scratch_mkfs_geom
>>> only appends options to the variable, MKFS_OPTIONS looks like
>>> this in
>> 5th
>>> iteration: MKFS_OPTIONS="-bsize=4096-b size=4096 -d
>>> su=8192,sw=4-b size=4096
>> -d
>>> su=16384,sw=4-b size=4096 -d su=32768,sw=4-b size=4096 -d 
>>> su=65536,sw=4-b size=4096 -d su=131072,sw=4"
>>> 
>>> It is also easy to see that _scratch_mkfs_geom does not append
>> leading
>>> space when it appends the variable.
>>> 
>>> Following patch fixes the issue for me and based on my testing
>>> does
>> not
>>> break any other test case:
>>> 
>>> diff -uprN xfstests-dev/223 xfstests-dev-new/223 ---
>>> xfstests-dev/223    2010-11-09 08:53:39.000000000 -0500 +++
>>> xfstests-dev-new/223        2010-11-17 08:05:56.745068628 -0500 @@ -58,6
>>> +58,7 @@ for SUNIT_K in 8 16 32 64 128; do let
>>> SUNIT_BLOCKS=$SUNIT_BYTES/$BLOCKSIZE
>>> 
>>> echo "=== mkfs with su $SUNIT_BLOCKS blocks x 4 ===" +      export
>>> MKFS_OPTIONS="" _scratch_mkfs_geom $SUNIT_BYTES 4 $BLOCKSIZE >>
>>> $seq.full 2>&1 _scratch_mount
>> 
>> That'll drop any custom mkfs options on the floor for that test.
>> 
>>> 
>>> diff -uprN xfstests-dev/common.rc xfstests-dev-new/common.rc ---
>>> xfstests-dev/common.rc      2010-11-09 08:53:39.000000000 -0500 +++
>>> xfstests-dev-new/common.rc  2010-11-17 08:07:06.972132647 -0500 @@
>>> -349,10 +349,10 @@ _scratch_mkfs_geom()
>>> 
>>> case $FSTYP in xfs) -       MKFS_OPTIONS+="-b size=$blocksize, -d
>> su=$sunit_bytes,sw=$swidth_mult"
>>> +   MKFS_OPTIONS+=" -b size=$blocksize, -d su=$sunit_bytes,sw= 
>>> $swidth_mult" ;; ext4) -    MKFS_OPTIONS+="-b $blocksize -E
>> stride=$sunit_blocks,stripe_width=
>>> $swidth_blocks" +   MKFS_OPTIONS+=" -b $blocksize -E
>> stride=$sunit_blocks,stripe_width=
>>> $swidth_blocks" ;; *) _notrun "can't mkfs $FSTYP with geometry"
>> 
>> Perhaps rather than using MKFS_OPTIONS, this should call 
>> scratch_mkfs directly with these as extra options, similar to the 
>> way _scratch_mkfs_sized() does. That would leave custom options
>> set, and only pass the test specific options once to mkfs....

I thought about that too, but I'm worried about some options
clashing.

>> Cheers,
>> 
>> Dave. -- Dave Chinner david@xxxxxxxxxxxxx
> 
> If I remember it right this would not work because MKFS_OPTIONS
> already contained -bsize=4096 at the beginning of the test and if
> another -b size=$blocksize would be added to the options mkfs would
> fail again.

*nod*

I think I'm ok with it the way it is.  FWIW, I committed it yesterday ...
We can change further if needed though, of course.

Thanks,
-Eric

> Cheers, Boris Ranto <branto@xxxxxxxxxx>
> 
> _______________________________________________ xfs mailing list 
> xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs
> 

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