forked from luck/tmp_suning_uos_patched
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>
This commit is contained in:
parent
1510e71c62
commit
d3001ed3a8
@ -2151,6 +2151,10 @@ int btrfs_run_qgroups(struct btrfs_trans_handle *trans,
|
|||||||
list_del_init(&qgroup->dirty);
|
list_del_init(&qgroup->dirty);
|
||||||
spin_unlock(&fs_info->qgroup_lock);
|
spin_unlock(&fs_info->qgroup_lock);
|
||||||
ret = update_qgroup_info_item(trans, quota_root, qgroup);
|
ret = update_qgroup_info_item(trans, quota_root, qgroup);
|
||||||
|
if (ret)
|
||||||
|
fs_info->qgroup_flags |=
|
||||||
|
BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT;
|
||||||
|
ret = update_qgroup_limit_item(trans, quota_root, qgroup);
|
||||||
if (ret)
|
if (ret)
|
||||||
fs_info->qgroup_flags |=
|
fs_info->qgroup_flags |=
|
||||||
BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT;
|
BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT;
|
||||||
|
Loading…
Reference in New Issue
Block a user