Re: [PATCH] xfstests: Improve test 219 to work with all filesystems

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

 



On Thu 19-05-11 21:15:21, Dave Chinner wrote:
> On Thu, May 19, 2011 at 12:49:08PM +0200, Jan Kara wrote:
> > On Thu 19-05-11 09:43:18, Dave Chinner wrote:
> > > On Wed, May 18, 2011 at 10:24:22AM +0200, Jan Kara wrote:
> > > > On Wed 18-05-11 09:13:01, Dave Chinner wrote:
> > > > > On Tue, May 17, 2011 at 04:55:04PM +0200, Jan Kara wrote:
> > > > > > Different filesystems account different amount of metadata in quota. Thus it is
> > > > > > impractical to check for a particular amount of space occupied by a file
> > > > > > because there is no right value. Change the test to verify whether the amount
> > > > > > of space before quotacheck and after quotacheck is the same as other quota
> > > > > > tests do.
> > > > > 
> > > > > Except that the purpose of the test the accounting correctly matches
> > > > > the blocks allocated via direct IO, buffered IO and mmap, not that
> > > > > quota is consistent over a remount.
> > > > > 
> > > > > IOWs, The numbers do actually matter - for example the recent
> > > > > changes to speculative delayed allocation beyond EOF for buffered IO
> > > > > in XFS could be causing large numbers of blocks to be left after EOF
> > > > > incorrectly, but the exact block number check used in the test would
> > > > > catch that. The method you propose would not catch it at all, and
> > > > > we'd be oblivous to an undesirable change in behaviour.
> > > >   Hmm, I guess we think of different errors to catch with the test. I was
> > > > more thinking that the test tries to catch errors where we forget to
> > > > account allocated blocks in quota or so. But you are right, there are other
> > > > tests to catch this although not testing e.g. direct IO I think.
> > > > 
> > > > > IMO, a better filter function would be the way to go - one
> > > > > that takes into account that there might be some metadata blocks
> > > > > allocated but not less than 3x48k should have be allocated to the
> > > > > quotas...
> > > >   OK, but if I just check that the amount of space is >= 3x48k, your
> > > > sample problem with xfs would pass anyway.
> > > 
> > > Not if it was done like we do with the randholes tests (008), where we use
> > > the _within_tolerance function to determine if the number of holes is
> > > accceptible.
> > > 
> > > >
> > > > What would be nice is to know
> > > > the right value but that depends on fs type and also fs parameters (fs
> > > > block size in ext3/ext4) so it would be a bit large chunk of code to
> > > > compute the right value - that's why I chose quotacheck to do the work for
> > > > me...  But I guess I can do that if you think it's worth it.
> > > 
> > > Yes, block size will alter the number of blocks, but remember that
> > > requota is reporting it in kilobytes, so the number should always be
> > > around 144. Hence checking the result is 144 +/- 5% would probably
> > > cover all filesystems and all configurations without an issue, and
> > > it would still catch gross increasing in disk usage...
> >   Ah, OK, that makes sense and works for the common cases I'm aware of (it
> > won't work for example for ext4 with 64k block size, or ocfs2 with large
> > cluster size where allocation unit can be upto 1M). Anyway, it has probably
> > the best effort/result ratio so I'll do this. Thanks for ideas.
> 
> The write size of 48k is completely arbitrary, so if we need to
> change it to work better with larger block sizes, then that is
> easy to do...
> 
> Anyway, there are lots of other tests that will break with 64k block
> sizes, so this is the least of our worries at this point...
  Yes, I think that as well. So when we come across a case we want to test
which will fail, we can change the amount written. So far I just changed
the test so that it works for my ext3 & ext4 tests...

								Honza

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux