Nach wiederholten Unstimmigkeiten mit dem Entwickler des Dateisystem Bcachefs hat Linus Torvalds den Bcachefs-Code von Linux nun als “extern gewartet” deklariert. Die Kennzeichnung ist ein Novum – und da der Erfinder und leitende Entwickler des Kernels sie nicht näher erläutert hat, ist unklar, was sie genau bedeutet. Der gemeinhin erwartete und von Torvalds mehrfach in Aussicht gestellte Rauswurf der in Linux als experimentell geltenden Bcachefs-Unterstützung ist damit aber allem Anschein vorerst vom Tisch.
Bcachefs in Linux: What’s Next for the “Externally Maintained” File System?
The recent declaration by Linus Torvalds, marking the Bcachefs file system code in Linux as “externally maintained,” has sent ripples through the open-source community. What exactly does this mean for users and the future of Bcachefs? Let’s delve into the implications and potential scenarios.
No Immediate Code Removal
The “externally maintained” designation implies that the existing Bcachefs code within the Linux kernel won’t undergo major changes for the time being. This means it will remain at the state of Linux version 6.16. Torvalds has opted not to integrate the updates submitted by Bcachefs developer Kent Overstreet for the upcoming version 6.17.
However, users already utilizing Bcachefs can safely upgrade to 6.17 and subsequent kernel versions. This approach avoids a “regression” – a step back in functionality – which Torvalds strongly disapproves of in Linux development.
The implications of Torvalds’ status change are unclear.
(Source: heise medien)
Caution Advised with “Externally Maintained” Bcachefs
Kernel updates should function without issues, at least as long as users and distributions do not employ kernels with newer Bcachefs code, maintained independently by Overstreet. This newer code, or associated userspace tools, could potentially introduce incompatible changes to file system structures.
If this were to occur, the official kernel’s Bcachefs code might refuse to mount the file system. It is possible, though improbable, that someone could act as an intermediary, taking the newer Bcachefs code from Overstreet and submitting it to Torvalds for inclusion and maintenance. This path, however, is fraught with difficulty.
A former Bcachefs co-developer, who seemed willing to take on this role, left the Bcachefs project following a disagreement with Overstreet.
The Root of the Disagreements
One source of friction between Kent Overstreet and Torvalds stemmed from Overstreet’s repeated submissions of significant changes for inclusion during the stabilization phase of new kernel versions. Torvalds viewed these changes as potentially risky, necessitating a delay until the development phase of the subsequent version. This development model has been managed smoothly by hundreds of other kernel developers for decades.
Overstreet has also clashed with other kernel developers over various aspects of Bcachefs development, for example, altering Linux kernel code maintained by them without proper coordination or even without their knowledge. Disputes with Overstreet also occurred more than a decade ago during his work on Bcache, the SSD hard drive caching solution. He later moved onto Bcachefs, without establishing a successor for Bcache.
A “Pro Tip” for users: It is crucial to carefully consider the source and version of Bcachefs code, especially if you are not a seasoned Linux developer. Using incompatible versions could lead to data integrity issues.
The patch description regarding the new status of Bcachefs and insights from the kernel community suggest that Torvalds made the decision in consultation with other key Linux developers. It remains to be seen how this step will affect the Linux ecosystem.
Major distributions like Debian, Fedora, and openSUSE are expected to continue using the Bcachefs code already included in Linux or to completely disable it in their kernels. Integrating Overstreet’s newer Bcachefs code is unlikely, as it would complicate maintenance. Moreover, more kernel developers will probably refuse to address bug reports submitted by users of these distributions, as such modifications could easily introduce errors that should not occur with the official kernel. Some smaller distributions may, however, embrace it to specifically attract Bcachefs enthusiasts.
Bcachefs: Potential Future Trends
So, what does the future hold for Bcachefs? Despite the current situation, it’s still a file system with promising features. Let’s explore some possible paths:
Community-Driven Development
Without direct integration into the main kernel branch, Bcachefs development could become more community-driven. Enthusiasts might step up to maintain and improve the file system. This approach relies heavily on community support and the availability of dedicated developers.
Did you know? The Linux kernel is one of the most collaboratively developed software projects in the world, with contributions from thousands of developers globally.
Independent Distributions and Use Cases
Smaller, specialized Linux distributions might embrace Bcachefs more readily, catering to users who actively seek its features. These distributions could target specific use cases, like high-performance computing or specific storage solutions.
Real-life Example: Consider a small team building a high-performance storage appliance. Bcachefs could be a good choice given its design goals for performance and reliability.
Forking and Alternative Implementations
In a more extreme scenario, Bcachefs could be forked. This would create a separate file system with its own development path, potentially diverging significantly from Overstreet’s original vision. However, forking involves significant effort, and its success depends on attracting a dedicated development team and user base.
Impact on Storage Technology
Bcachefs’s development, regardless of its direct integration, influences how storage technologies evolve in Linux. The pursuit of enhanced performance, reliability, and scalability are key drivers in the design of all modern file systems. The lessons learned in Bcachefs development will contribute to advances in other areas, such as faster data access and improved data integrity, even if Bcachefs itself doesn’t become a mainstream file system.
Frequently Asked Questions (FAQ)
Here are some common questions about Bcachefs and its current status:
Q: What does “externally maintained” mean for Bcachefs?
A: It means the Bcachefs code in the Linux kernel will likely not receive significant updates from the main kernel maintainers for the foreseeable future.
Q: Can I still use Bcachefs?
A: Yes, if you’re using the version included in the Linux kernel, it should continue to work. However, using newer, independently maintained versions comes with risks.
Q: Will Bcachefs ever be fully integrated into the Linux kernel?
A: That’s uncertain. It depends on the resolution of issues between Torvalds and Overstreet, and the future of Bcachefs development.
Q: Is Bcachefs safe to use?
A: Use Bcachefs with caution. If you are not experienced with Linux development, ensure that you stick to the versions included in official kernel releases. Always back up your data before experimenting with file systems, especially experimental ones.
(dmk)

