From: Wang Shilong <wangsl-fnst@xxxxxxxxxxxxxx>
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-fnst@xxxxxxxxxxxxxx>
Acked-by: Miao Xie <miaox@xxxxxxxxxxxxxx>
Cc: Arne Jansen <sensille@xxxxxxx>
---
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html