These patches aim to add 2 new subcommands that:
-> provide information about block groups
-> help to decide whether balance can reduce the no. of data block groups and if
it can, provides the block group object id for "-dvrange"
[PATCH 1/3] btrfs-progs: Generic functions to retrieve chunks and their bg info
[PATCH 2/3] btrfs-progs: Add a command to show bg info
[PATCH 3/3] btrfs-progs: Add command to check if balance op is req
Now, you can run:
-------------------------------------------------------------------------------
$ btrfs inspect-internal balance_check /mnt/btrfs
Start Len Used
12582912 8.00MiB 128.00KiB
136708096 208.00MiB 74.00MiB
Total data bgs: 2
Total free space: 141.88MiB
For min used bg 12582912 used = 128.00KiB free = 7.88MiB
run 'btrfs balance start -dvrange=12582912..12582913 <mountpoint>'
$ btrfs balance start -dvrange=12582912..12582913 /mnt/btrfs
Done, had to relocate 1 out of 4 chunks
$ btrfs inspect-internal balance_check /mnt/btrfs
Start Len Used
136708096 208.00MiB 74.12MiB
Data block groups in fs = 1, no need to do balance.
$ btrfs inspect-internal bg_analysis /mnt/btrfs
Type Start Len Used
SYSTEM 20971520 8.00MiB 16.00KiB
METADATA 29360128 102.38MiB 192.00KiB
DATA 136708096 208.00MiB 74.12MiB
-------------------------------------------------------------------------------
Thanks to the suggestion by Hans van Kranenburg, and the python-btrfs module,
an efficient alternative to retrieving block groups could be used:
Now, it first looks at the chunk tree, and for every chunk listed it looks up an
exact match in the extent tree.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html