Re: Quota lockups

Andi Kleen (ak@muc.de)
13 Oct 1998 07:29:25 +0200


corbet@eklektix.com (Jonathan Corbet) writes:

> > I did quite a bit of stress testing for the quota code and wasn't able to
> > trigger any stuck processes. Could you put together a script to reproduce the
> > problem?
>
> I posted some time ago the sure way to lock up the quota code: have an
> empty 'quota.user' file. Then do something that causes somebody to
> allocate space on the device. The file system gets locked once to make the
> quota change, then again because the first block of the quota file needs to
> be allocated, which requires another quota modification. *Lock*.
>
> Running "quotacheck" before enabling quotas fixes the problem;
> unfortunately Red Hat's startup script does it wrong (with the fs
> unmounted) so the new quota.user gets written in the wrong place.
>
> The most straightforward fix would be to force the existence of the first
> block of the quota file before allowing quotas to be turned on. But this
> has the look of the sort of band-aid fix that Linus doesn't like, for good
> reason...

I once "fixed" it in 2.0 by allowing recursive locks in lock_dquot/wait_on_dquot/
unlock_dquot. Of course this is not the best fix, but at least it won't
deadlock anymore.

-Andi

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/