**Bcachefs** er et copy-on-write (COW) filsystem for Linux-baserte operativsystemer. Filsystemets datastruktur er formet som en hybrid mellom et B+ tre og et loggstrukturert flettetre. Det har som intensjon å konkurrere med ZFS eller Btrfs i moderne egenskaper, og samtidig ha hastigheten og ytelsen til ext4 eller XFS. 

Filsystemet ble annonsert den 21. august 2015 av dets primære utvikler, Kent Overstreet. Bcachefs ble tilføyd Linuxkjernen i versjon 6.7 den 7. januar 2024.

Historie
--------

Bcache (eller *block-cache*) ble tilføyd i versjon 3.10 av Linuxkjernen den 30. juni 2013. Det er et virtuelt hurtigminne i Linux-kjernens blokk-lag, som brukes for å aksessere utstyr som fungerer som sekundært minne. Den gjør det mulig for et eller flere lagringsmedia, slik som flashminne-baserte SSD-disker, å fungere som hurtigminne for tregere lagringsmedia, slik som harddisker.

Bcache ble utviklet av Kent Overstreet, og bcache var «prototypen» for de idèer som utviklet seg til bcachefs. Overstreet har sagt at utviklingen av bcachefs begynte da utviklere av bcache innså at at dets kodebase hadde «utviklet seg ... til et fullstendig POSIX filsystem for generelle formål» med et «virkelig rent og elegant design». I 2013 forlot Overstreet sin jobb i Google, hvor han siden 2011 hadde laget flere programmer for hurtigminne, for å jobbe med bcachefs på fulltid.

Filsystemet ble annonsert den 21. august 2015 av dets primære utvikler, Kent Overstreet. I kunngjøringen beskrev han koden som «mer eller mindre komplett hva angår egenskaper - ingenting kritisk burde mangle», og han søkte etter testere og bidragsytere. Hans intensjon var å lage et avansert filsystem med moderne egenskaper, som vil konkurrere med ZFS eller Btrfs. Samtidig ville det ha samme hastighet og ytelse som ext4 og XFS. Btrfs er et veletablert filsystem. Den 9. juni 2009 innførte Fedora versjon 11 «Leonidas» eksperimentell støtte for det. Btrfs ble en del av versjon 3.10 av Linuxkjernen den 29. mars 2013. I versjon 33 av Fedora, lansert 27. oktober 2020, ble btrfs standard. Det ble innebygd i kjernen mens det tidligere var et eksternt modul. Innvendingen mot btrfs er at det er tregere enn både ext4 og XFS.

I mars 2017 fikk Overstreet finansiell støtte for utviklingen av bcachefs via folkefinansieringsplattform Patreon i San Fransisco. I mai 2018 ble diskformatet avgjort. I mai 2018 hadde også patcher blitt sendt til vurdering for å ha bcachefs inkludert i hovedlinjen Linux-kjernen, men filsystemet var ennå ikke blitt akseptert.

I juni 2019 var ønskede egenskaper til filsystemet tilføyd, og tilknyttede patcher til Linuxkjernens e-postliste var innsendt for gjennomgang. Den 2. november 2022 ble filsystemet beskrevet som «stabilt» av et brukernettverk. Den 12. september 2023 ble filsystemet innlemmet i *linux-next*, et utviklingstre av Linux-kjernen hvor nye egenskaper blir testet før de inkluderes i neste stabile versjon. Den 31. oktober 2023 ble det besluttet at bcachefs skulle integreres i versjon 6.7 av Linuxkjernen. Versjon 6.7 ble lansert 7. januar 2024.

I 2013 anslo Overstreet at det å skape bcachefs fra bcache ville kreve et år og 15,000 linjer med kode. I mai 2018, seks år senere, bestod filsystemet av 50,000 linjer med kode.

Referanser
----------

1. ↑  Libby Clark: All About the Linux Kernel: Bcache, 11. juli 2013
2. ↑  Petros Koutoupis (25. november 2013). «Advanced Hard Drive Caching Techniques». Linux Journal.
3. ↑  Edge, Jake (23. mai 2018). «An update on bcachefs». *LWN.net*. Arkivert fra originalen 1. juni 2018. Besøkt 22. november 2018.
4. 1 2  Jackson, Joab (21. august 2015). «Former Google engineer revs up a new Linux filesystem». *PC World*. Besøkt 22. november 2018.
5. ↑  Kent Overstreet: (ANNOUNCE) bcachefs - a general purpose COW filesystem, lkml.org, 21. august 2015, kl 21:25:58
6. ↑  Larabel, Michael (21. august 2015). «A New Linux File-System Aims For Speed While Having ZFS/Btrfs-Like Features». *Phoronix*. Arkivert fra originalen 23. august 2015. Besøkt 22. november 2018.
7. ↑  Kernel Newbies: Linux 3.10, 30. juni 2013
8. ↑  Michael Larabel: Approved: Fedora 33 Desktop Variants Defaulting To Btrfs File-System, phoronix.com, 15. juli 2020
9. ↑  Baader, Hans-Joachim (17. mars 2017). «Neue Version von Bcachefs bringt Verschlüsselung». *Mal:Ill* **(tysk)**. Besøkt 23. november 2018.
10. 1 2  Edge, Jake (23. mai 2018). «An update on bcachefs». *LWN.net*. Arkivert fra originalen 1. juni 2018. Besøkt 22. november 2018.
11. ↑  Larabel, Michael (9. mai 2018). «Bcachefs File-System Is Working On Going Upstream In The Linux Kernel». *Phoronix*. Arkivert fra originalen 9. juli 2018. Besøkt 22. november 2018.
12. ↑  LKML (10. juni 2019). «bcachefs status update (it's done cooking; let's get this sucker merged)». *Linux Kernel Mailing List*.
13. ↑  LKML (4. november 2021). «bcachefs status update - current and future work». *Linux Kernel Mailing List*. Besøkt 2. desember 2021.
14. ↑  LKML (16. februar 2022). «bcachefs». *Linux Kernel Mailing List*. Besøkt 14. september 2022.
15. ↑  «bcachefs». *bcachefs.org*.
16. ↑  «Bcachefs Merged Into Linux-Next». *www.phoronix.com* **(engelsk)**. Besøkt 12. september 2023.
17. ↑  «Bcachefs Merged Into The Linux 6.7 Kernel». *www.phoronix.com* **(engelsk)**. Besøkt 31. oktober 2023.
18. ↑  «kernel/git/torvalds/linux.git - Linux kernel source tree». *git.kernel.org*. Besøkt 31. oktober 2023.

Eksterne lenker
---------------

* bcachefs.org