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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html