On Mon, Mar 25, 2019 at 02:31:20PM +0200, Nikolay Borisov wrote: > Here is v3 of the fitrim patches. Change since v2 [0]: > > * Replaced BUG_ON with WARN_ON in patch 2 > > * Added RB to patches 04/05/06/09 > > * Squashed "btrfs: Transpose btrfs_close_devices/btrfs_mapping_tree_free in > close_ctree" > into patch 07. It was only sent to the mailing list as a followup. > > * Rebased all patches on latest misc-next. > > This has undergone multiple xfstest runs and I think is ready to be merged. > > [0] > https://lore.kernel.org/linux-btrfs/20190211083510.27591-1-nbori...@suse.com/ > > > Jeff Mahoney (1): > btrfs: replace pending/pinned chunks lists with io tree > > Nikolay Borisov (11): > btrfs: Honour FITRIM range constraints during free space trim
This is vaguely off-topic, but I noticed that you can FITRIM a btrfs filesystem mounted nologreplay. Assuming the fitrim code uses the free space information to drive the discard calls, is it safe to do that with unreplayed metadata? (And no, I don't really know what nologreplay does, so please excuse my ignorance...) --D > 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: 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 | 103 +++++++++++++- > fs/btrfs/extent_io.h | 19 ++- > fs/btrfs/extent_map.c | 38 +++++ > 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 | 277 ++++++++++++++---------------------- > fs/btrfs/volumes.h | 23 ++- > 13 files changed, 332 insertions(+), 318 deletions(-) > > -- > 2.17.1 >