For those making use of the out-of-tree Bcachefs file-system driver, rolling out to the snapshot/nightly testing channel is the long-in-development “rebalance_v2” functionality now known as the “bcachefs_metadata_version_reconcile” feature.
The bcachefs_metadata_version_reconcile feature is a major step forward to the file-system’s rebalance code path. Kent Overstreet explained in a post today announcing its snapshot/nightly state:
“Previously, rebalance only handled the target and compression options. Now, all io path options are handled: replicas, checksum type, erasure coding.
Extents are checked for consistency with the options configured: if it doesn’t match (and it wasn’t because of an option change or device change), it’s flagged as an error, and repaired.
Reconcile now reacts to device state changes: changing the durability setting will cause extent replication level to be adjusted accordingly, and devices will automatically have data evacuated when marked as failed.
Degraded data (for any reason) will be rereplicated automatically.
Degraded data is now always reported as degraded in ‘bcachefs fs usage’ output.
Reconcile now handles metadata, not just user data.”
More details for those interested via this Patreon post.
The externally-maintained Bcachefs file-system support can be tested with ease on various Linux distributions for those wanting to try out this copy-on-write file-system following its removal from the mainline kernel tree.
