From: Wang Shilong <wangsl-f...@cn.fujitsu.com> 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-f...@cn.fujitsu.com> Reviewed-by: Miao Xie <mi...@cn.fujitsu.com> Cc: Arne Jansen <sensi...@gmx.net> --- 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html