linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Freemyer <greg.freemyer@gmail.com>
To: Dmitry Monakhov <dmonakhov@openvz.org>
Cc: linux-ext4@vger.kernel.org, Jan Kara <jack@suse.cz>,
	OHSM-DEV <ohsm-devel@lists.sourceforge.net>
Subject: Re: [PATCH 08/11] ext4: introduce subtree logic
Date: Tue, 9 Feb 2010 08:36:38 -0500	[thread overview]
Message-ID: <87f94c371002090536v2450e67dlb77fa70bfc46cec0@mail.gmail.com> (raw)
In-Reply-To: <874olqpvtt.fsf@openvz.org>

On Tue, Feb 9, 2010 at 5:06 AM, Dmitry Monakhov <dmonakhov@openvz.org> wrote:
> Greg Freemyer <greg.freemyer@gmail.com> writes:
>
>> On Mon, Feb 8, 2010 at 8:28 AM, Dmitry Monakhov <dmonakhov@openvz.org> wrote:
>>> * Abstract
>>>  A subtree of a directory tree T is a tree consisting of a directory
>>>  (the subtree root) in T and all of its descendants in T.
>>>
>>>  Subtree feature allows to create an isolated (from user point of view)
>>>  trees.
>>>
>>>  Subtree assumptions:
>>>  (1) Each inode has subtree id. This id is persistently stored inside
>>>      inode (xattr, usually inside ibody)
>>>  (2) Subtree id is inherent from parent directory
>>>  (3) Inode can not belongs to different subtree
>>>      Otherwise changes in one subtree result in changes in other subtree
>>>      which contradict to isolation criteria.
>>>
>>>  This feature is similar to project-id in XFS. One may assign some id to
>>>  a subtree. Each entry from the subtree may be accounted in directory
>>>  subtree quota. Will appear in later patches.
>>>
>>> * Disk layout
>>>  Subtree id is stored on disk inside xattr usually inside ibody.
>>>  Xattr is used only as a data storage, It has not user visiable xattr
>>>  interface.
>>>
>>> Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
>>
>> Dmitry,
>>
>> I think the idea of subtrees is useful, but I'm curious about other
>> use cases than just quota.
>>
>> At first glance you are attempting to create a generic subtree
>> functionality for ext4, but criteria 3) above says a inode can only be
>> in one subtree at a time.
> Theoretically this is possible, but this dramatically complicate things
> Just think about this. If inode belongs to different subtrees then
> it must have several tree-dquota objects attached to it. This means
> that quota require great quota redesign.
> Obviously i don't know any use case for this feature. do you know any?

Maybe we're talking about different things.  I working with the OHSM
project <http://ohsm.sourceforge.net/>

We haven't submitted any patches yet, but for one of our features we
have something fairly close to your subtree patch.  If we were to
leverage your patch and drop that part of ours we would be in the
unhappy situation that quota and ohsm could not both be enabled on the
same filesystem because the ohsm subtree geography is not likely to be
consistent with the quota subtree geography.

If we call quota and ohsm services then my desire would be to see your
subtree patches support orthoganal subtree groups.  One group per
service.

I haven't looked into the actual implementation, but from an API
perspective it is just a matter of adding a service parameter to the
various calls.  For a given subtree service group, a given inode could
only be part of one subtree, but a single inode could participate in
multiple subtree service groups.

Greg
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2010-02-09 13:42 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-08 13:28 [PATCH 00/11] [RFC] Introduce subtree quota support This patch set introduce subtree and subtree-quota support for ext4 Dmitry Monakhov
2010-02-08 13:28 ` [PATCH 01/11] ext4: mount flags manipulation cleanup Dmitry Monakhov
2010-02-08 13:28   ` [PATCH 02/11] ext4: trivial quota cleanup Dmitry Monakhov
2010-02-08 13:28     ` [PATCH 03/11] quota: sb_quota state flags cleanup Dmitry Monakhov
2010-02-08 13:28       ` [PATCH 04/11] quota: generalize quota transfer interface Dmitry Monakhov
2010-02-08 13:28         ` [PATCH 05/11] quota: introduce get_id callback Dmitry Monakhov
2010-02-08 13:28           ` [PATCH 06/11] quota: add generic subtree quota support Dmitry Monakhov
2010-02-08 13:28             ` [PATCH 07/11] ext4: enlarge mount option field Dmitry Monakhov
2010-02-08 13:28               ` [PATCH 08/11] ext4: introduce subtree logic Dmitry Monakhov
2010-02-08 13:28                 ` [PATCH 09/11] ext4: subtree add kconfig options Dmitry Monakhov
2010-02-08 13:28                   ` [PATCH 10/11] ext4: add subtree support Dmitry Monakhov
2010-02-08 13:28                     ` [PATCH 11/11] ext4: add subtree quota support Dmitry Monakhov
2010-02-09  0:10                   ` [PATCH 09/11] ext4: subtree add kconfig options Greg Freemyer
2010-02-08 23:54                 ` [PATCH 08/11] ext4: introduce subtree logic Greg Freemyer
2010-02-09 10:06                   ` Dmitry Monakhov
2010-02-09 13:36                     ` Greg Freemyer [this message]
2010-02-09 13:53                       ` Dmitry Monakhov
2010-02-09 14:29                         ` Greg Freemyer
2010-02-09 14:48                           ` Dmitry Monakhov
2010-02-09 14:52                             ` Greg Freemyer
2010-02-09 15:21                               ` Dmitry Monakhov
2010-02-09  0:49                 ` Andreas Dilger
2010-02-09  9:29                   ` Dmitry Monakhov

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=87f94c371002090536v2450e67dlb77fa70bfc46cec0@mail.gmail.com \
    --to=greg.freemyer@gmail.com \
    --cc=dmonakhov@openvz.org \
    --cc=jack@suse.cz \
    --cc=linux-ext4@vger.kernel.org \
    --cc=ohsm-devel@lists.sourceforge.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).