Re: [PATCH] xfs: project quota ineritance flag test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 11, 2019 at 07:35:16AM -0700, Darrick J. Wong wrote:
> On Wed, Jun 19, 2019 at 06:10:47PM +0800, Zorro Lang wrote:
> > This case is used to cover xfsprogs bug "b136f48b xfs_quota: fix
> > false error reporting of project inheritance flag is not set" at
> > first. Then test more behavior when project ineritance flag is
> > set or removed.
> > 
> > Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx>
> > ---
> 
> <skipping to the good part>
> 
> > diff --git a/tests/xfs/507.out b/tests/xfs/507.out
> > new file mode 100644
> > index 00000000..c8c09d3f
> > --- /dev/null
> > +++ b/tests/xfs/507.out
> > @@ -0,0 +1,23 @@
> > +QA output created by 507
> > +== The parent directory has Project inheritance bit by default ==
> > +Checking project test (path [SCR_MNT]/dir)...
> > +Processed 1 ([PROJECTS_FILE] and cmdline) paths for project test with recursion depth infinite (-1).
> > +
> > +Write SCRATCH_MNT/dir/foo, expect ENOSPC:
> > +pwrite: No space left on device
> > +Write SCRATCH_MNT/dir/dir_inherit/foo, expect ENOSPC:
> > +pwrite: No space left on device
> > +
> > +== After removing parent directory has Project inheritance bit ==
> > +Checking project test (path [SCR_MNT]/dir)...
> > +[SCR_MNT]/dir - project inheritance flag is not set
> > +[SCR_MNT]/dir/foo - project identifier is not set (inode=0, tree=10)
> > +[SCR_MNT]/dir/dir_uninherit - project identifier is not set (inode=0, tree=10)
> > +[SCR_MNT]/dir/dir_uninherit - project inheritance flag is not set
> > +[SCR_MNT]/dir/dir_uninherit/foo - project identifier is not set (inode=0, tree=10)
> > +Processed 1 ([PROJECTS_FILE] and cmdline) paths for project test with recursion depth infinite (-1).
> > +
> > +Write SCRATCH_MNT/dir/foo, expect Success:
> > +Write SCRATCH_MNT/dir/dir_inherit/foo, expect ENOSPC:
> > +pwrite: No space left on device
> 
> I keep seeing this test failure:
> 
> --- a/xfs/508.out      2019-06-30 08:32:32.216174715 -0700
> +++ b/xfs/508.out.bad    2019-07-11 07:32:30.488000000 -0700
> @@ -19,5 +19,5 @@
>  
>  Write SCRATCH_MNT/dir/foo, expect Success:
>  Write SCRATCH_MNT/dir/dir_inherit/foo, expect ENOSPC:
> -pwrite: No space left on device
> +/opt/dir/dir_inherit/foo: Disk quota exceeded

Hmm... I never saw this issue. I tested on RHEL-7, RHEL-8.0 and latest upstream
xfsprogs & xfs-linux, all passed.

>  Write SCRATCH_MNT/dir/dir_uninherit/foo, expect Success:
> 
> IIRC EDQUOT is the correct error code for running out of /project/
> quota (and I tried with a modern V5 fs and a V4 fs too) both with
> setting no quota options at all and turning on every quota type
> supported by the fs.
> 
> Under what circumstances does xfs_io spit out ENOSPC?

I didn't test with any special test arguments, all as default. For example, as
below test on
xfsprogs: HEAD: 8bfb5eac (HEAD -> for-next, origin/for-next) xfs_quota: fix built-in help for project setup
xfs-linux: HEAD: 036f463fe15d (HEAD -> for-next, tag: xfs-5.3-merge-10, origin/xfs-5.3-merge, origin/for-next) xfs: online scrub needn't bother zeroing its temporary buffer

# ./check xfs/508
FSTYP         -- xfs (debug)
PLATFORM      -- Linux/x86_64 xxx-xxxxxx-xxx 5.2.0-rc4-xfs-for-next
MKFS_OPTIONS  -- -f -bsize=4096 /dev/mapper/xfscratch
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/mapper/xfscratch /mnt/scratch

xfs/508 5s ...  5s
Ran: xfs/508
Passed all 1 tests

# xfs_io -V
xfs_io version 5.1.0-rc0

# xfs_info /dev/mapper/xfscratch
meta-data=/dev/mapper/xfscratch isize=512    agcount=4, agsize=5570560 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=22282240, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=10880, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Do you need me to provide anything else?

Thanks,
Zorro

> 
> --D
> 
> > +Write SCRATCH_MNT/dir/dir_uninherit/foo, expect Success:
> > diff --git a/tests/xfs/group b/tests/xfs/group
> > index ffe4ae12..46200752 100644
> > --- a/tests/xfs/group
> > +++ b/tests/xfs/group
> > @@ -504,3 +504,4 @@
> >  504 auto quick mkfs label
> >  505 auto quick spaceman
> >  506 auto quick health
> > +507 auto quick quota
> > -- 
> > 2.17.2
> > 



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux