From: Arne Jansen <sensille@gmx.net>
To: Wang Shilong <wangshilong1991@gmail.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: [RESEND RFC PATCH 2/2] Btrfs: disable the qgroup level 0 for userspace use
Date: Fri, 22 Feb 2013 14:35:05 +0100 [thread overview]
Message-ID: <51277409.6040007@gmx.net> (raw)
In-Reply-To: <1361534990-2627-1-git-send-email-wangshilong1991@gmail.com>
On 02/22/13 13:09, Wang Shilong wrote:
> From: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
>
> This patch tries to stop users to create/destroy qgroup level 0,
> users can only create/destroy qgroup level more than 0.
>
> See the fact:
> a subvolume/snapshot qgroup was created automatically
> when creating subvolume/snapshot, so creating a qgroup level 0 can't
> be a subvolume/snapshot qgroup, the only way to use it is that assigning
> subvolume/snapshot qgroup to it, the point is that we don't want to have a
> parent qgroup whose level is 0.
>
> So we want to force users to use qgroup with clear relations
> which means a parent qgroup's level > child qgroup's level.For example:
>
> 2/0
> / \
> / \
> / \
> 1/0 1/1
> / \ \
> / \ \
> / \ \
> 0/256 0/257 0/258
>
> This pattern of quota is nature and easy for users to understand, otherwise it will
> make the quota configuration confusing and difficult to maintain.
I agree that a strict hierarchy of the levels should be enforced.
Currently the kernel has no idea of 'level', it's just an artificial
concept that lives in userspace. This patch would be the first place
to add that magic shift '48' to the kernel.
In my opinion it would be sufficient to do the enforcement in user
space, as it is of no technical nature.
-Arne
>
> Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
> Acked-by: Miao Xie <miaox@cn.fujitsu.com>
> Cc: Arne Jansen <sensille@gmx.net>
> ---
> fs/btrfs/ioctl.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
> index a31cd93..3590c21 100644
> --- a/fs/btrfs/ioctl.c
> +++ b/fs/btrfs/ioctl.c
> @@ -3755,7 +3755,7 @@ static long btrfs_ioctl_qgroup_create(struct file *file, void __user *arg)
> goto drop_write;
> }
>
> - if (!sa->qgroupid) {
> + if (!(sa->qgroupid >> 48)) {
> ret = -EINVAL;
> goto out;
> }
>
next prev parent reply other threads:[~2013-02-22 13:33 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-22 12:09 [RESEND RFC PATCH 2/2] Btrfs: disable the qgroup level 0 for userspace use Wang Shilong
2013-02-22 13:35 ` Arne Jansen [this message]
2013-02-22 16:39 ` Shilong Wang
2013-02-22 22:35 ` David Sterba
2013-02-23 2:10 ` Shilong Wang
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=51277409.6040007@gmx.net \
--to=sensille@gmx.net \
--cc=linux-btrfs@vger.kernel.org \
--cc=wangshilong1991@gmail.com \
/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.