This patchset can be fetched from github: https://github.com/adam900710/btrfs-progs/tree/bg_tree Which is based on v5.2.2 tag. This patchset provides the needed user space infrastructure for BG_TREE feature. Since it's an new incompatible feature, unlike SKINNY_METADATA, btrfs-progs is needed to convert existing fs (unmounted) to new format. Now btrfstune can convert regular extent tree fs to bg tree fs to improve mount time. For the performance improvement, please check the kernel patchset cover letter or the last patch. (SPOILER ALERT: It's super fast) Changelog: v2: - Rebase to v5.2.2 tag - Add btrfstune ability to convert existing fs to BG_TREE feature Qu Wenruo (7): btrfs-progs: Refactor excluded extent functions to use fs_info btrfs-progs: Refactor btrfs_read_block_groups() btrfs-progs: Enable read-write ability for 'bg_tree' feature btrfs-progs: mkfs: Introduce -O bg-tree btrfs-progs: dump-tree/dump-super: Introduce support for bg tree btrfs-progs: check: Introduce support for bg-tree feature btrfs-progs: btrfstune: Allow to enable bg-tree feature offline Documentation/btrfstune.asciidoc | 6 + btrfstune.c | 44 +++- check/main.c | 7 +- check/mode-lowmem.c | 9 +- cmds/inspect-dump-super.c | 3 +- cmds/inspect-dump-tree.c | 5 + common/fsfeatures.c | 6 + ctree.h | 18 +- disk-io.c | 29 ++- extent-tree.c | 364 +++++++++++++++++++++++-------- mkfs/common.c | 6 +- mkfs/main.c | 9 + print-tree.c | 3 + transaction.c | 1 + 14 files changed, 402 insertions(+), 108 deletions(-) -- 2.23.0
