aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorDongsheng Yang <yangds.fnst@cn.fujitsu.com>2014-11-20 21:04:56 -0500
committerChris Mason <clm@fb.com>2015-04-13 10:52:42 -0400
commitd3001ed3a82ec2696bb13c78092d0a3460003fd7 (patch)
tree31b6c82488e64a6cf1d028b1267f16122dc5e451 /fs
parent1510e71c620c27ffc7540176a0689f70d6915e28 (diff)
btrfs: qgroup: update limit info in function btrfs_run_qgroups().
When we commit_transaction(), qgroups in btree should be updated. But, limit info is not considered currently. It will cause a problem when a qgroup of a snapshot inherit the limit info from srcqgroup, then there is an inconsistency. Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com> Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/qgroup.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index bf0702a865f8..5d1d75611745 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -2154,6 +2154,10 @@ int btrfs_run_qgroups(struct btrfs_trans_handle *trans,
2154 if (ret) 2154 if (ret)
2155 fs_info->qgroup_flags |= 2155 fs_info->qgroup_flags |=
2156 BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT; 2156 BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT;
2157 ret = update_qgroup_limit_item(trans, quota_root, qgroup);
2158 if (ret)
2159 fs_info->qgroup_flags |=
2160 BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT;
2157 spin_lock(&fs_info->qgroup_lock); 2161 spin_lock(&fs_info->qgroup_lock);
2158 } 2162 }
2159 if (fs_info->quota_enabled) 2163 if (fs_info->quota_enabled)