Wang Shilong
2013-Feb-22 12:02 UTC
[PATCH 2/2] Btrfs: disable the qgroup level 0 for userspace use
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.
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;
}
--
1.7.7.6
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Reasonably Related Threads
- btrfs qgroup assign -> "ERROR: bad relation requested"
- [PATCH 3/3] Btrfs: remove reduplicate check about root in the function btrfs_clean_quota_tree
- [PATCH 1/2] Btrfs: don't call btrfs_qgroup_free if just btrfs_qgroup_reserve fails
- [PATCH v2] btrfs-qgroup-show: add check for "--raw"
- Re: [PATCH] btrfs-qgroup-show: add check for "--raw"
