diff options
author | Dongsheng Yang <yangds.fnst@cn.fujitsu.com> | 2014-11-20 21:04:56 -0500 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2015-04-13 10:52:42 -0400 |
commit | d3001ed3a82ec2696bb13c78092d0a3460003fd7 (patch) | |
tree | 31b6c82488e64a6cf1d028b1267f16122dc5e451 /fs | |
parent | 1510e71c620c27ffc7540176a0689f70d6915e28 (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.c | 4 |
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) |