The remaining qgroup fixes patches, based on the Chris' for-linus-4.12 branch with commit 9bcaaea7418d09691f1ffab5c49aacafe3eef9d0 as base.
Can be fetched from github: https://github.com/adam900710/linux/tree/qgroup_fixes_non_stack Despite the 5th patch, patches are mostly unchanged. Only minor conflicts are addressed in this update. The 5th patch chooses a different method to reduce stack memory usage. Instead of allocating extent_changeset structure on stack, this time only a pointer of extent_changeset is allocated on stack. And real extent_changeset is allocated inside btrfs_qgroup_reserve_data(). The impact to stack memory usage of quota disabled case is reduced to minimal. While the error handler routine is not affected either. v2: Add reviewed-by tag for 2nd patch Update the first patch to follow the new trace point standard RFC v3: Use non-stack (dyanamic allocation) for extent_changeset structure, in 5th patch, to reduce impact for quota disabled cases. Rebase to latest for-linus-4.12 branch. Qu Wenruo (6): btrfs: qgroup: Add quick exit for non-fs extents btrfs: qgroup: Cleanup btrfs_qgroup_prepare_account_extents function btrfs: qgroup: Return actually freed bytes for qgroup release or free data btrfs: qgroup: Fix qgroup reserved space underflow caused by buffered write and quota enable btrfs: qgroup: Introduce extent changeset for qgroup reserve functions btrfs: qgroup: Fix qgroup reserved space underflow by only freeing reserved ranges fs/btrfs/ctree.h | 12 ++- fs/btrfs/extent-tree.c | 30 +++++--- fs/btrfs/extent_io.h | 36 ++++++++- fs/btrfs/file.c | 41 ++++++---- fs/btrfs/inode-map.c | 4 +- fs/btrfs/inode.c | 58 +++++++++----- fs/btrfs/ioctl.c | 9 ++- fs/btrfs/qgroup.c | 205 ++++++++++++++++++++++++++++++++++++------------- fs/btrfs/qgroup.h | 8 +- fs/btrfs/relocation.c | 12 +-- fs/btrfs/transaction.c | 10 --- 11 files changed, 297 insertions(+), 128 deletions(-) -- 2.12.2 -- 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