From: Peter Braam <Peter.Braam@Sun.COM>
To: lustre-devel@lists.lustre.org
Subject: [Lustre-devel] Moving forward on Quotas
Date: Sun, 01 Jun 2008 10:36:33 +0800 [thread overview]
Message-ID: <C4682C31.5617%peter.braam@sun.com> (raw)
In-Reply-To: <1212008833.14599.84.camel@localhost>
For CIFS quota and user ids get in touch with Matt Wu and Mike Shapiro.
There are special interfaces in ZFS/DMU for better windows support that we
probably need to leverage.
Peter
On 5/29/08 5:07 AM, "Ricardo M. Correia" <Ricardo.M.Correia@Sun.COM> wrote:
> On Qui, 2008-05-29 at 00:06 +0400, Nikita Danilov wrote:
>>
>> Well... that's just renaming uid and gid into opaqueid0 and
>> opaqueid1. :-)
>
> It may be simple for POSIX uids/gids, but maybe not for CIFS user ids (but
> since there is a mapping table it may be also be simple, I'm not sure).
> I think it would make sense to give it a list of opaque ids, instead of just
> opaqueid0 and opaqueid1 (maybe a file could belong to multiple groups or maybe
> we can think of other creative ideas in the future..).
>
>> So on one hand we have to add a couple of parameters to all dmu entry
>> points that can allocate disk space. On the other hand we have something
>> like
>>
>> typedef void (*dmu_alloc_callback_t)(objset_t *os, uint64_t objid, long
>> bytes);
>>
>> void dmu_alloc_callback_register(objset_t *os, dmu_alloc_callback_t cb);
>>
>> with dmu calling registered call-back when blocks are actually allocated
>> to the object. Advantage of the later interface is that dmu implements
>> only mechanism, and policy ("user quotas" and "group quotas") is left to
>> the upper layers to implement.
>
> I don't see why that would be an advantage over what we had planned to do.
> The plan we discussed with the ZFS team was to make the DMU do space
> accounting internally by opaque ids, so the quota policy/enforcement would
> still be left to the upper layers to implement.
>
>>
>> If quota management and storage are
>> completely encapsulated within dmu, then dmu has to provide full quota
>> control interface too, and that interface has to be exported from osd
>> upward. For one thing, implementation of this interface is going to take
>> a lot of time.
>
> Again, the plan was for the DMU to do only space accounting, the actual quota
> management and enforcement would be implemented in Lustre.
>
>
>>
>>> > For things that requires knowledge of DMU internals (like space
>>> > accounting, spacemaps, ...) it shouldn't be the DMU consumer that has to
>>> > write during the txg sync phase, it should be the DMU because only the
>>> > DMU should know about its internals.
>>
>> I don't quite understand this argument. DMU already has an interface to
>> capture a buffer into a transaction and to modify it within this
>> transaction. An interface to modify a buffer after transaction was
>> closed, but before it is committed is no more "internal" than the first
>> one. It is just places more restrictions on what consumer is allowed to
>> do with the buffer.
>
> What I mean is that IMO a consumer of a filesystem shouldn't have to know
> intimate details of how the filesystem (in this case, the DMU) works.
> For instance, so far Lustre had no idea that transactions are actually grouped
> into transaction groups and it had no idea about transaction group states.
>
> Allowing modification of buffers by an upper layer when a transaction group is
> already syncing is not a very elegant way to solve this IMHO (compared with
> our previous plan).. :-)
>
> Cheers,
> Ricardo
>
> --
> Ricardo Manuel Correia
> Lustre Engineering
>
> Sun Microsystems, Inc.
> Portugal
> Phone +351.214134023 / x58723
> Mobile +351.912590825
> Email Ricardo.M.Correia at Sun.COM
>
> _______________________________________________
> Lustre-devel mailing list
> Lustre-devel at lists.lustre.org
> http://lists.lustre.org/mailman/listinfo/lustre-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20080601/3683b206/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.gif
Type: image/gif
Size: 1257 bytes
Desc: not available
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20080601/3683b206/attachment.gif>
next prev parent reply other threads:[~2008-06-01 2:36 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <18490.63940.619731.992500@gargle.gargle.HOWL>
2008-05-26 23:28 ` [Lustre-devel] Moving forward on Quotas Peter Braam
2008-05-28 8:06 ` Johann Lombardi
2008-06-01 2:32 ` Peter Braam
2008-06-02 12:22 ` Johann Lombardi
2008-06-02 23:24 ` Andreas Dilger
2008-06-03 8:49 ` Landen tian
2008-06-04 1:24 ` Peter Braam
2008-06-04 7:05 ` Landen tian
2008-06-04 8:26 ` Johann Lombardi
2008-05-28 14:29 ` Ricardo M. Correia
2008-05-28 14:54 ` Nikita Danilov
2008-05-28 15:14 ` Ricardo M. Correia
2008-05-28 16:22 ` Nikita Danilov
2008-05-28 17:05 ` Ricardo M. Correia
2008-05-28 20:06 ` Nikita Danilov
2008-05-28 21:07 ` Ricardo M. Correia
2008-05-28 21:11 ` Nikita Danilov
2008-05-28 21:33 ` Ricardo M. Correia
2008-05-29 8:39 ` Nikita Danilov
[not found] ` <18496.11672.844774.815457@gargle.gargle.HOWL>
2008-05-31 15:31 ` Ricardo M. Correia
2008-05-31 15:49 ` Ricardo M. Correia
[not found] ` <1212247447.21348.70.camel@localhost>
2008-05-31 16:19 ` Nikita Danilov
2008-05-31 17:19 ` Ricardo M. Correia
2008-05-31 19:11 ` Nikita Danilov
2008-06-01 2:36 ` Peter Braam [this message]
2008-06-01 3:17 ` Mike Shapiro
2008-06-01 2:26 ` Peter Braam
2008-06-01 4:53 ` Jeff Bonwick
2008-06-01 13:58 ` Nikita Danilov
2008-06-03 0:50 ` Matthew Ahrens
2008-06-03 7:49 ` Nikita Danilov
2008-06-04 23:50 ` Matthew Ahrens
2008-05-28 15:24 ` Nikita Danilov
2008-05-31 10:25 ` Peter Braam
[not found] <92825021-D566-4805-9297-5EFBD3260D73@Sun.COM>
2008-06-01 2:44 ` Peter Braam
[not found] <20080605083957.GQ6283@lore>
2008-06-05 11:09 ` Peter Braam
2008-06-05 12:27 ` Johann Lombardi
2008-06-05 13:45 ` Peter Braam
2008-06-06 7:33 ` Johann Lombardi
2008-06-06 12:21 ` Peter Braam
2008-06-09 8:52 ` Yong Fan
2008-06-09 15:37 ` Peter Braam
2008-06-09 16:09 ` Yong Fan
2008-06-10 13:54 ` Yong Fan
2008-06-10 16:51 ` Peter Braam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=C4682C31.5617%peter.braam@sun.com \
--to=peter.braam@sun.com \
--cc=lustre-devel@lists.lustre.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.