From: Wang Shilong <wangsl-f...@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. Signed-off-by: Wang Shilong <wangsl-f...@cn.fujitsu.com> Acked-by: Miao Xie <mi...@cn.fujitsu.com> Cc: Arne Jansen <sensi...@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; } -- 1.7.7.6 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html