Bcachefs Hopes To Remove "EXPERIMENTAL" Flag In The Next Year

Written by Michael Larabel in Linux Storage on 22 September 2024 at 06:30 AM EDT. 70 Comments
LINUX STORAGE
Bcachefs lead developer Kent Overstreet has submitted all of the Bcachefs file-system feature patches for the Linux 6.12 kernel merge window. In his pull request he also lays out his ambitions to remove the "EXPERIMENTAL" flag from Bcachefs within the next year.

Bcachefs with Linux 6.12 brings more code reworks and improves performance for more metadata heavy workloads. Kent reports that for multi-threaded creates that Bcachefs is said to be 3~4x faster than XFS.

In addition to the code improvements for enhancing performance, Idmap mounts are now supported, rename whiteouts are supported, improvements to erasure coding, and other changes.

Bcachefs experimental


On the matter of promoting Bcachefs to drop the "experimental" flag, Kent wrote in the pull request:
"Status, and when will we be taking off experimental:
----------------------------------------------------

Going by critical, user facing bugs getting found and fixed, we're nearly there. There are a couple key items that need to be finished before we can take off the experimental label:

- The end-user experience is still pretty painful when the root filesystem needs a fsck; we need some form of limited self healing so that necessary repair gets run automatically. Errors (by type) are recorded in the superblock, so what we need to do next is convert remaining inconsistent() errors to fsck() errors (so that all runtime inconsistencies are logged in the superblock), and we need to go through the list of fsck errors and classify them by which fsck passes are needed to repair them.

- We need comprehensive torture testing for all our repair paths, to shake out remaining bugs there. Thomas has been working on the tooling for this, so this is coming soonish.

Slightly less critical items:

- We need to improve the end-user experience for degraded mounts: right now, a degraded root filesystem means dropping to an initramfs shell or somehow inputting mount options manually (we don't want to allow degraded mounts without some form of user input, except on unattended servers) - we need the mount helper to prompt the user to allow mounting degraded, and make sure this works with systemd.

- Scalabiity: we have users running 100TB+ filesystems, and that's effectively the limit right now due to fsck times. We have some reworks in the pipeline to address this, we're aiming to make petabyte sized filesystems practical."

More details on the Bcachefs patches for Linux 6.12 via this pull request.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week