Hi Chris, Please consider the following git pull for 4.4 merge window.
https://github.com/adam900710/linux.git for_chris_4.4_qgroup_reserve_rework These pull is based on the following commit: commit 6db4a7335dd701a0e20275440ee057d3db2a7ae3 Merge: 62fb50a ee86395 Author: Chris Mason <[email protected]> Date: Mon Oct 12 16:24:40 2015 -0700 Merge branch 'fix/waitqueue-barriers' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus-4.4 This rework for qgroup reserve framework provides accurate qgroup reserve and solves reserved space leak in old btrfs qgroup. The test case(btrfs/099) for reserved space leak is already merged in fstests. The reserved space leaking bug has already existed for a long time before the qgroup accounting rework arrived in 4.2. We have tested the pull for 3 days based on 4.3-integration branch and found no bug. Although it's rebased today, the rebase shows no conflict, so I think the pull should be quite safe. We'll re-test it during the weekend again to ensure it's completely OK. All the commits are the same as the v3 patchset submitted to mail list, except the 19th patch in patchset, as it's already included in another pull request for 4.3, so it's removed from this pull. Thanks, Qu Qu Wenruo (20): btrfs: extent_io: Introduce needed structure for recoding set/clear bits btrfs: extent_io: Introduce new function set_record_extent_bits btrfs: extent_io: Introduce new function clear_record_extent_bits() btrfs: qgroup: Introduce btrfs_qgroup_reserve_data function btrfs: qgroup: Introduce functions to release/free qgroup reserve data space btrfs: delayed_ref: Add new function to record reserved space into delayed ref btrfs: delayed_ref: release and free qgroup reserved at proper timing btrfs: qgroup: Introduce new functions to reserve/free metadata btrfs: qgroup: Use new metadata reservation. btrfs: extent-tree: Add new version of btrfs_check_data_free_space and btrfs_free_reserved_data_space. btrfs: extent-tree: Switch to new check_data_free_space and free_reserved_data_space btrfs: extent-tree: Add new version of btrfs_delalloc_reserve/release_space btrfs: extent-tree: Switch to new delalloc space reserve and release btrfs: qgroup: Cleanup old inaccurate facilities btrfs: qgroup: Add handler for NOCOW and inline btrfs: Add handler for invalidate page btrfs: qgroup: Add new trace point for qgroup data reserve btrfs: fallocate: Add support to accurate qgroup reserve btrfs: qgroup: Avoid calling btrfs_free_reserved_data_space in clear_bit_hook btrfs: qgroup: Check if qgroup reserved space leaked fs/btrfs/ctree.h | 14 ++- fs/btrfs/delayed-ref.c | 29 +++++++ fs/btrfs/delayed-ref.h | 14 +++ fs/btrfs/disk-io.c | 1 + fs/btrfs/extent-tree.c | 149 ++++++++++++++++++++++---------- fs/btrfs/extent_io.c | 121 +++++++++++++++++++------- fs/btrfs/extent_io.h | 19 +++++ fs/btrfs/file.c | 191 +++++++++++++++++++++++++++++------------ fs/btrfs/inode-map.c | 6 +- fs/btrfs/inode.c | 86 ++++++++++++++++--- fs/btrfs/ioctl.c | 10 ++- fs/btrfs/qgroup.c | 199 ++++++++++++++++++++++++++++++++++++++++++- fs/btrfs/qgroup.h | 31 ++++++- fs/btrfs/relocation.c | 8 +- fs/btrfs/transaction.c | 34 ++------ fs/btrfs/transaction.h | 1 - include/trace/events/btrfs.h | 113 ++++++++++++++++++++++++ 17 files changed, 831 insertions(+), 195 deletions(-) -- 2.6.1 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
