2010-01-26 17:31:28

by Curt Wohlgemuth

[permalink] [raw]
Subject: ext4 quota tests?

Hi Jan:

I heard from the ext4 conference call yesterday that you might have
some quota tests that would be useful. Can you give me a pointer to
where I might find them?

Thanks,
Curt


2010-01-26 18:23:08

by Eric Sandeen

[permalink] [raw]
Subject: Re: ext4 quota tests?

Curt Wohlgemuth wrote:
> Hi Jan:
>
> I heard from the ext4 conference call yesterday that you might have
> some quota tests that would be useful. Can you give me a pointer to
> where I might find them?
>
> Thanks,
> Curt

I'm the one who suggested that Jan -might- have some quota test
infrastructure, but I don't know for sure. :)

Jan, we'd love to pull anything you might have into xfstests if
we can, I think.

-Eric

2010-01-26 18:34:54

by Jan Kara

[permalink] [raw]
Subject: Re: ext4 quota tests?

Hi Curt,

On Tue 26-01-10 09:31:24, Curt Wohlgemuth wrote:
> I heard from the ext4 conference call yesterday that you might have
> some quota tests that would be useful. Can you give me a pointer to
> where I might find them?
Hum, I have some scripts I use for testing of quota but it's nothing
too clever. What exactly would you like to test? What generally needs to be
tested from filesystem POV (since I guess that's what you're interested in)
is whether quota accounting matches the real usage. So what I do is:

run the load I want to check
quotaoff -vu $mntpoint
repquota -u $mntpoint | sed -ne '6,$p' | tr -s ' ' | sort >before_check
quotacheck -vu $mntpoint
repquota -u $mntpoint | sed -ne '6,$p' | tr -s ' ' | sort >after_check
diff before_check after_check >/dev/null || echo "Quota usage differs!"

For "load I want to check" I usually use fsstress, fsx-linux or similar
programs.

Oh, and when I want to be nasty, I also test load like:
as root do:
while true; do
BLOCKLIMIT=$minblimit+$((RANDOM%($maxblimit-$minblimit)))
INODELIMIT=$minilimit+$((RANDOM%($maxilimit-$minilimit)))
setquota -u testuser 0 $BLOCKLIMIT 0 $INODELIMIT $mntpoint
sleep 1
done

as testuser do:
while true; do tar xzf some_larger_archive.tar.gz; rm -rf archive; done

Possibly you might also want to run 'sync' in parallel once in a while to
make the mix more interesting. The point is to test whether allocation
failure paths work right...

Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR

2010-01-26 18:51:05

by Jan Kara

[permalink] [raw]
Subject: Re: ext4 quota tests?

On Tue 26-01-10 12:22:54, Eric Sandeen wrote:
> Curt Wohlgemuth wrote:
> > Hi Jan:
> >
> > I heard from the ext4 conference call yesterday that you might have
> > some quota tests that would be useful. Can you give me a pointer to
> > where I might find them?
> >
> > Thanks,
> > Curt
>
> I'm the one who suggested that Jan -might- have some quota test
> infrastructure, but I don't know for sure. :)
>
> Jan, we'd love to pull anything you might have into xfstests if
> we can, I think.
Yes, that would be a good idea. As I wrote to Curt, I don't have anything
generally usable. But for example extending fsstress and fsx tests with
quota checking should be pretty straightforward. And the tar test I have
described could be added as well.

Honza
--
Jan Kara <[email protected]>
SUSE Labs, CR