DragonFly BSD
DragonFly kernel List (threaded) for 2010-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Thoughts on Quotas


From: "Samuel J. Greear" <sjg@xxxxxxxxxxxx>
Date: Sun, 26 Sep 2010 09:59:44 -0600

On Sun, Sep 26, 2010 at 8:56 AM, Justin C. Sherrill
<justin@shiningsilence.com> wrote:
> On Sun, September 26, 2010 8:32 am, Michael Neumann wrote:
>
>> My usage scenario is a Fileserver with many users. One thing that comes
>> to mind is to spend one PFS per user home directory. IIRC, HAMMER
>> supports up to 2^16 PFS. In my case it is obvious that limiting the real
>> diskspace used by each PFS would be a nice feature, not only in my case,
>> but also imagine one PFS per vkernel or jail, which would give much
>> stronger separation guaratees than what we have right now.
>
> The one thing that comes immediately to mind is scale.  Usually, a
> DragonFly system has less than 10 PFSs.  (What's the plural of PFS?)
> /home, /var, /usr, etc.  Having a per-user PFS setup seems appealing
> because then you can set up snapshot and mirroring properties on a
> per-user basis.
>
> However, what happens where there's 200 users on a machine?  It would be
> very frustrating to keep track of the settings of each user and to
> implement changes on each, especially if some users get different settings
> than others.  I think the user->PFS idea is good; it just may require a
> different set of tools.
>
>

2^16 is nowhere close to enough. Quota's are very useful and to be
useful you need to support hundreds of thousands of users. I consider
lack of useful quota's to be one of our most major deficiencies.

If a person wanted to do accounting of space usage of the historical
data for snapshots, that could be done too with a userland tool by
hooking into the mirror-stream ioctl's (I don't know what indication
there is of free'd space, but I assume something could be worked out),
but I don't see that as falling under the same umbrella as quota's
necessarily.

Sam




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