Re: RFC - tree quotas for Linux (2.4.12, ext2)

Neil Brown (neilb@cse.unsw.edu.au)
Fri, 19 Oct 2001 10:53:03 +1000 (EST)


On Thursday October 18, mfedyk@matchmail.com wrote:
>
> Actually, it looks like Niel is creating a two level Quota system. In ther
> normal quota system, if you own a file anywhere, it is attributed to you.
> But, in the tree quota system, it is attributed to the owner of the
> tree...

Well, actually it is three level. Though I wouldn't call them
levels. They are really alternates.
The space usage of a filesystem object can be charged to
1/ the owner of the file
2/ the group-owner of the file
3/ the owner of the tree containing the file.

I added the third.
You could conceivable impose quotas of all three sorts, but I suspect
that would cause unfortunate interactions and be a management
headache. I would recommend only using one at a time.

>
> Niel, how do you plan to notify someone that their tree quota has been
> exceeded instead of their normal quota?

In what sense? The kernel prints warning when you go over-quota.
It only does it if the process that causes quota to be exceeded is
reponsible for the quota. This is determined in "need_print_warning"
in fs/dquot.c
I haven't added a TREEQUOTA branch to that yet (just a FIXME comment).
A few moments reflection suggests that I should just "return 1" for
TREEQUOTA, so anyone who exceeds the quota gets the warning, not just
the owner.

However, all my customers access their files via NFS and so don't get
these warnings.
I have a nightly job that sends email to people who are over quota,
and a global login script that prints a warning of the person is over
quota.
So they don't know the moment that they exceed their quota, but
should find out soon enough....

I wonder if NFSv4 should have a "Soft-Quota-Exceeded" non-error return
state so that clients could warn their users.... It doesn't yet.

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