xfs
[Top] [All Lists]

Re: [PATCH 3/3] xfstests: introduce xfs/324 to verify turn group/project

To: Jeff Liu <jeff.liu@xxxxxxxxxx>
Subject: Re: [PATCH 3/3] xfstests: introduce xfs/324 to verify turn group/project quota off along with fsstress
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Tue, 3 Dec 2013 11:53:08 +1100
Cc: "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <52983C4B.1090202@xxxxxxxxxx>
References: <52983C4B.1090202@xxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
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.

> +
> +_qmount_option "uquota,gquota,pquota"
> +
> +STRESS_DIR=$SCRATCH_MNT/testdir
> +

Where do you mkfs the scratch device?

> +_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

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

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