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
>>> cleaning the MKFS_OPTIONS variable. Since _scratch_mkfs_geom
>>> only appends options to the variable, MKFS_OPTIONS looks like
>>> this in
>>> iteration: MKFS_OPTIONS="-bsize=4096-b size=4096 -d
>>> su=8192,sw=4-b size=4096
>>> 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
>>> space when it appends the variable.
>>> Following patch fixes the issue for me and based on my testing
>>> 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
>>> 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
>>> + MKFS_OPTIONS+=" -b size=$blocksize, -d su=$sunit_bytes,sw=
>>> $swidth_mult" ;; ext4) - MKFS_OPTIONS+="-b $blocksize -E
>>> $swidth_blocks" + MKFS_OPTIONS+=" -b $blocksize -E
>>> $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
>> 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.
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.
> Cheers, Boris Ranto <branto@xxxxxxxxxx>
> _______________________________________________ xfs mailing list
> xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs