Here is the (hopefully final) v4 of the fitrim patches. Main changes since v3:
* Fixed leaked btrfs_path in patch 3. * Fixed multiple assignemnt on single line in patch 3. * New patch 9 transposing btrfs_close_devices/btrfs_mapping_tree_free, in v3 this change was wrongly squashed in patch "Introduce new bits for device allocation tree". * Introduced new patch "Implement set_extent_bits_nowait" and use it instead of exposing __set_extent_bit in patch 9. * Introduce new patch "Stop using call_rcu for device freeing" which simplifies the resulting code freeing the mapping tree, this is prep for patch 9. This also fixes a bunch of places that weren't correctly freeing the extent mapping tree upon device close. * Fixed ASSERT condition in patch 2 Jeff Mahoney (1): btrfs: replace pending/pinned chunks lists with io tree Nikolay Borisov (14): btrfs: Honour FITRIM range constraints during free space trim btrfs: combine device update operations during transaction commit btrfs: Handle pending/pinned chunks before blockgroup relocation during device shrink btrfs: Rename and export clear_btree_io_tree btrfs: Populate ->orig_block_len during read_one_chunk btrfs: Introduce new bits for device allocation tree btrfs: Implement set_extent_bits_nowait btrfs: Stop using call_rcu for device freeing btrfs: Transpose btrfs_close_devices/btrfs_mapping_tree_free in close_ctree btrfs: Remove 'trans' argument from find_free_dev_extent(_start) btrfs: Factor out in_range macro btrfs: Optimize unallocated chunks discard btrfs: Implement find_first_clear_extent_bit btrfs: Switch btrfs_trim_free_extents to find_first_clear_extent_bit fs/btrfs/ctree.h | 8 +- fs/btrfs/dev-replace.c | 2 +- fs/btrfs/disk-io.c | 20 +-- fs/btrfs/extent-tree.c | 102 +++++-------- fs/btrfs/extent_io.c | 108 +++++++++++++ fs/btrfs/extent_io.h | 15 ++ fs/btrfs/extent_map.c | 37 +++++ fs/btrfs/extent_map.h | 1 - fs/btrfs/free-space-cache.c | 4 - fs/btrfs/transaction.c | 51 +------ fs/btrfs/transaction.h | 2 +- fs/btrfs/volumes.c | 296 ++++++++++++++---------------------- fs/btrfs/volumes.h | 24 +-- 13 files changed, 341 insertions(+), 329 deletions(-) -- 2.17.1