On 12/03 2013 08:53 AM, Dave Chinner wrote:
> On Fri, Nov 29, 2013 at 03:03:39PM +0800, Jeff Liu wrote:
>> From: Jie Liu <jeff.liu@xxxxxxxxxx>
>>
>> Introduce xfs/324 to verify that we can turn group/project quotas off
>> while user quota is on and fsstress is running.
>>
>> Signed-off-by: Jie Liu <jeff.liu@xxxxxxxxxx>
> ....
>> +
>> +# Modify as appropriate.
>> +_supported_fs xfs
>> +_supported_os Linux
>> +
>> +_require_scratch
>> +_require_xfs_quota
>> +_require_xfs_crc_sb
>
> Hmmm, now that I look at the way you are using _require_xfs_crc_sb,
> it's broken. The scratch device is in an undefined state until a
> test runs _scratch_mkfs on it.
>
> What you need to do is check whether mkfs supports "-m crc=1", and
> then mkfs the scratch device with that option set.
Got it.
>
>> +
>> +_qmount_option "uquota,gquota,pquota"
>> +
>> +STRESS_DIR=$SCRATCH_MNT/testdir
>> +
>
> Where do you mkfs the scratch device?
Oops, this problem must be concealed as it has ran against the environment
from previous test.
>
>> +_exercise()
>> +{
>> + type=$1
>> +
>> + _qmount
>> + mkdir -p $STRESS_DIR
>> +
>> + $FSSTRESS_PROG -d $STRESS_DIR -n 100 -p 1000 $FSSTRESS_AVOID
>> >>/dev/null 2>&1 &
>
> There's no real reason for creating a load of 1000 processes here.
> Half of them won't even get started before this:
>
>> + xfs_quota -x -c "off -$type" $SCRATCH_DEV
>
> is run.
>
>> + killall -q $FSSTRESS_PROG
>> + wait
>
> and then you kill them straight away.
>
>> + rm -rf $STRESS_DIR
>> + umount $SCRATCH_MNT
>
> You don't need this if you just scratch_mkfs the device between
> tests.
>
> So, wouldn't it be better to do:
>
> scratch_mkfs -m crc=1
> _qmount
> mkdir -p $STRESS_DIR
> $FSSTRESS_PROG -d $STRESS_DIR -n 1000 -p 100 $FSSTRESS_AVOID
> >>/dev/null 2>&1 &
> sleep 10
> xfs_quota -x -c "off -$type" $SCRATCH_DEV
> sleep 5
> killall -q $FSSTRESS_PROG
> wait
Above problems will be fixed in next round of post.
Thanks,
-Jeff
|