Bcachefs

Linux-Copy-on-Write-Dateisystem

Bcachefs ist ein Copy-On-Write-Dateisystem für Linux, das aus der Entwicklung von bcache hervorgegangen ist und so wie dieses von Kent Overstreet seit 2015 hauptverantwortlich entwickelt wird. Es steht, wie der Linux-Kernel, unter der GPL und konkurriert vom Umfang der Funktionen her direkt mit den Dateisystemen ZFS und Btrfs, will aber in Punkto Geschwindigkeit die Dateisysteme ext4 und XFS übertreffen.[1] Es galt bereits früh als stabil, hatte aber nur eine eingeschränkte Nutzergemeinde.[2] Seit 2022 wurde an der Aufnahme in den Hauptentwicklerzweig des Linux-Kernels gearbeitet,[3] wo es in Version 6.7 vom Januar 2024 aufgenommen wurde.[1]

Bcachefs
Hersteller Kent Overstreet
Erstveröffentlichung 21. August 2015 ()
Technische Umsetzung
Verzeichnisse hybrider B+-Baum
Dateien Extents
Eigenschaften
Dateirechte-Verwaltung POSIX, ACLs
Transparente Komprimierung ja
Transparente Verschlüsselung ja
Copy-On-Write ja
Unterstützende Betriebssysteme Linux (ab Kernel 6.7)

Die Weiterentwicklung und Zukunft des Dateisystems ist, nach einer vorübergehenden Suspendierung Kent Overstreets durch Linus Torvalds, derzeit (Ende 2024) ungewiss.[4][5]

Entwicklung

Bearbeiten

Bei der Entwicklung von bcache erkannte dessen Entwickler Kent Overstreet, dass dieses bereits viele Grundelemente eines Dateisystems aufweist, woraufhin er beschloss, bcache – was für block device cache steht – in ein vollwertiges Dateisystem auszubauen. Im August 2015 stellte er sein nunmehr bcachefs (für bcache + fs für englisch file system) genanntes Dateisystem auf LKML.org den Kernel-Entwicklern vor.[6] Das Dateisystem bietet neben Copy-On-Write (CoW) auch Prüfsummen für Daten und Metadaten, Caching, Kompression, Verschlüsselung und Snapshots.[7]

Seit Linux-Kernel 6.7 vom 7. Januar 2024 ist bcachefs im Mainline-Kernel integriert.[1][8]

Suspendierung

Bearbeiten

Linus Torvalds hat Kent Overstreet für die Linux-Kernel-Version 6.13 vorübergehend suspendiert, was bedeutet, dass er keine Patches von Overstreet mehr annimmt. Dem vorausgegangen sind Beleidigungen von Overstreet, auch gegenüber angesehenen langjährigen Kernel-Entwicklern. Das dafür zuständige COC-Komitee, das einen selbst auferlegten Verhaltenskodex für alle Linux-Entwickler vorgibt, stellte schließlich fest, dass Overstreet die Grenzen guten Benehmens überschritten hatte. Da zu diesem Zeitpunkt noch Regeln für mögliche Sanktionen fehlten, wurden diese nun erarbeitet und am 15. November 2024 zur Dokumentation des Linux-Kernels hinzugefügt.[4][5] Zusätzlich gab es aber auch allgemeine Befürchtungen über zu wenig Tests der Patches von Overstreet, was für den Hauptentwicklerzweig von Linux deshalb problematisch ist, weil dieser stets stabil sein soll.[9]

Kent Overstreet hat sich danach über seinen Patreon-Auftritt an seine Unterstützer gewandt, sich aber nicht entschuldigt. In einem rund 36.000 Zeichen langen Text bezeichnete er die Zukunft und Weiterentwicklung von Bcachefs im Linux-Kernel als ungewiss.[4][5]

Eigenschaften

Bearbeiten

Das Dateisystem ist auf Robustheit ausgelegt. Das im Kernel aufgenommene bcachefs gilt als feature-complete und sticht gegenüber den klassischen Linux-Dateisystemen ext und XFS heraus, weil es von Haus aus Checksumming und die Unterstützung mehrerer Datenträger bietet und u. a. keinen Logical Volume Manager benötigt. Wie andere moderne Dateisysteme, etwa ZFS und Btrfs, bietet bcachefs Caching und Snapshots, sowie Replikation im Stil von RAID1 und RAID10.[1]

Siehe auch

Bearbeiten
Bearbeiten

Einzelnachweise

Bearbeiten
  1. a b c d Oliver Müller: Linux 6.7 bringt bcachefs. In: Heise online. 9. Januar 2024. Abgerufen am 17. März 2024.; Zitat: „Das schon mehrfach für die Integration vorgesehene Dateisystem bcachefs schaffte es nun endlich ins Kernel-Release.“.
  2. Jack Wallen: An Introduction to New Linux Filesystem bcachefs. In: The New Stack. 17. September 2019, abgerufen am 17. März 2024 (englisch): „Although bcachefs is relatively new, it’s quite stable, and already has a growing community of users.“
  3. Jake Edge: Bringing bcachefs to the mainline. In: LWN.net. 17. Mai 2022, abgerufen am 17. März 2024 (englisch).
  4. a b c Senthilkumar Palani: Bcachefs Future In Linux Kernel Uncertain After Code Of Conduct Dispute; Linux Kernel Controversy: Bcachefs Developer's Clash with CoC. In: OSTechNix. 23. November 2024, abgerufen am 14. Dezember 2024 (englisch): „Kent Overstreet, the lead developer of the Bcachefs file system, has publicly announced that the future of Bcachefs in the Linux kernel is uncertain due to an ongoing dispute with the Linux Kernel Code of Conduct (CoC) committee.“
  5. a b c Thorsten Leemhuis: Linus Torvalds suspendiert Bcachefs-Entwickler wegen Code-of-Conduct-Verletzung. In: Heise online. 21. November 2024. Abgerufen am 14. Dezember 2024.; Zitat: „Kent Overstreet wird nach verbalen Ausfällen gegenüber anderen Entwicklern sanktioniert – ein Novum bei der als ruppig geltenden Entwicklung des Linux-Kernels“.
  6. Kent Overstreet: [ANNOUNCE] bcachefs – a general purpose COW filesystem. In: LKML.org. 20. August 2015, abgerufen am 17. März 2024 (englisch).
  7. Ferdinand Thommes: Bcachefs: erneuter Anlauf zur Aufnahme in den Kernel. In: LinuxNews. 12. Mai 2023, abgerufen am 17. März 2024.
  8. Niklas Dierking, Linux 6.7 führt bcachefs ein, c’t 3/2024, S. 45
  9. Michael Larabel: Bcachefs Fixes Pull Once Again Frustrates Linus Torvalds – Two Choices Offered. In: Phoronix. 5. Oktober 2024, abgerufen am 14. Dezember 2024 (englisch).