[PATCH 4/8] Add test of quota accounting using fsx
Jan Kara
jack at suse.cz
Mon Jun 14 05:48:17 CDT 2010
On Thu 10-06-10 11:50:59, Eric Sandeen wrote:
> Jan Kara wrote:
> > On Wed 09-06-10 12:49:49, Eric Sandeen wrote:
> >> Jan Kara wrote:
> >>> Run fsx (and also several fsx threads in parallel) and verify that
> >>> quota accounting is correct after they finish.
> >> Jan, I'm having trouble with this one on XFS for some reason, with our
> >> RHEL6 kernel and quota-3.17...
> >>
> >> +Disabling group quota enforcement and accounting on /dev/mapper/VolGroup00-testvol2
> >> +Disabling user quota enforcement and accounting on /dev/mapper/VolGroup00-testvol2
> >> +repquota: Mountpoint (or device) /mnt/testarea/scratch not found or has no quota enabled.
> >> +repquota: Not all specified mountpoints are using quota.
> >> +repquota: Mountpoint (or device) /mnt/testarea/scratch not found or has no quota enabled.
> >> +repquota: Not all specified mountpoints are using quota.
> >>
> >> ...
> >>
> >> however if I remove the quotaon calls (off / on settings) in check_usage()
> >> then it works:
> >>
> >> check_usage()
> >> {
> >> # quotaon -f -u -g $SCRATCH_MNT 2>/dev/null
> >> repquota -u -g $SCRATCH_MNT | grep -v "^root" | filter_scratch \
> >> >$tmp.orig
> >> quotacheck -u -g $SCRATCH_MNT 2>/dev/null
> >> repquota -u -g $SCRATCH_MNT | grep -v "^root" | filter_scratch \
> >> >$tmp.checked
> >> # quotaon -u -g $SCRATCH_MNT 2>/dev/null
> >> diff $tmp.orig $tmp.checked
> >> }
> >>
> >>
> >> Seems like 2 issues: noisy disable messages, and repquota failing when disabled.
> > I've fixed noisy disable messages in quotaon (without -v flag only errors
> > should be printed) in CVS.
>
> Ok, we should probably just add a filter for these so that it'll work
> on older versions.
OK, will add that.
> > With repquota & disabled quotas it's a bit more
> > complicated.
>
> Hm I'm still woefully unfamiliar with quota intricacies.
>
> It seems that after quotaon -f, repquota fails on xfs but works for ext*?
Yes, because we disabled also accounting. But with your change to quota
tools it shouldn't be a problem anymore. Still I've added a test so that
we turn quotas off only for ext? and reiserfs so that the tests work with
older quota tools as well.
> Not sure if that's intended...
>
> Also is there a reason to disable quota before repquota? Is disable/enable
> around quotacheck enough?
Yes, that would be enough.
> Hm on ext* I'm also getting differences from the expected output; I suspect
> due to selinux xattrs. I'll try to get that fixed up.
I'm seeing some quota miscomputations for ext4, but ext2 and ext3 work
fine for me. I didn't have time to look into why ext4 after quotacheck
reports different number of blocks. Maybe it's just delayed allocation,
maybe it's a real bug.
> > The problem is that for ext?, reiserfs,... you have to disable
> > quotas before running quotacheck. Also quotacheck is NOP for XFS - we'd
> > rather need to call something to really recompute quota usage for XFS. How
> > that can be done?
>
> It's regenerated at mount time if needed. I don't know that we have a
> method to force this recalculation... I guess mounting with quotas disabled,
> unmounting, then mounting again w/ quotas on will do it.
OK, I'll add this to the test.
Honza
--
Jan Kara <jack at suse.cz>
SUSE Labs, CR
More information about the xfs
mailing list