[PATCH v2 0/7] btrfs-progs: Support for BG_TREE feature

Qu Wenruo
2019-10-08T04:49:42Z

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