From: Wang Shilong <wangsl-fnst@xxxxxxxxxxxxxx>
Creating the root subvolume qgroup when enabling quota,with
this patch,it will be ok to limit the whole filesystem size.
Signed-off-by: Wang Shilong <wangsl-fnst@xxxxxxxxxxxxxx>
Reviewed-by: Miao Xie <miaox@xxxxxxxxxxxxxx>
Cc: Arne Jansen <sensille@xxxxxxx>
---
fs/btrfs/qgroup.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index a5c8562..c409096 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -777,6 +777,7 @@ int btrfs_quota_enable(struct btrfs_trans_handle *trans,
struct extent_buffer *leaf;
struct btrfs_key key;
int ret = 0;
+ struct btrfs_qgroup *qgroup = NULL;
spin_lock(&fs_info->qgroup_lock);
if (fs_info->quota_root) {
@@ -823,7 +824,18 @@ int btrfs_quota_enable(struct btrfs_trans_handle *trans,
btrfs_mark_buffer_dirty(leaf);
+ btrfs_release_path(path);
+ ret = add_qgroup_item(trans, quota_root, BTRFS_FS_TREE_OBJECTID);
+ if (ret)
+ goto out;
+
spin_lock(&fs_info->qgroup_lock);
+ qgroup = add_qgroup_rb(fs_info, BTRFS_FS_TREE_OBJECTID);
+ if (IS_ERR(qgroup)) {
+ spin_unlock(&fs_info->qgroup_lock);
+ ret = PTR_ERR(qgroup);
+ goto out;
+ }
fs_info->quota_root = quota_root;
fs_info->pending_quota_state = 1;
spin_unlock(&fs_info->qgroup_lock);
--
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