This patchset fixes a qgroup bug when using with inode_cache mount option.
The bug reminds us that the design of separate
btrfs_qgroup_prepare_account_extents() is a bad practice especially the
safest timing is to call prepare just before btrfs_qgroup_account_extents().
So the patchset will cleanup btrfs_qgroup_prepare_account_extents() to
avoid further similar bugs.
And add a quick exit for non-fs extents for qgroup, mainly to reduce the
noise of qgroup trace events.
v2:
Fix the missing mutex_unlock() at error path of 1st patch.
Qu Wenruo (3):
btrfs: qgroup: Fix qgroup corruption caused by inode_cache mount
option
btrfs: qgroup: Add quick exit for non-fs extents
btrfs: qgroup: Cleanup btrfs_qgroup_prepare_account_extents function
fs/btrfs/qgroup.c | 82 +++++++++++++++++++++++++++++---------------------
fs/btrfs/qgroup.h | 2 --
fs/btrfs/transaction.c | 21 +++++++------
3 files changed, 59 insertions(+), 46 deletions(-)
--
2.7.4
--
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