• Bcachefs 1.33 – ett stort steg framåt för Linux moderna filsystem

    Det moderna Linux-filsystemet Bcachefs står inför sin kanske största förändring hittills. Med version 1.33 får det en helt ny “reconcile”-motor som både sköter data och metadata, automatiskt hanterar replikering och återhämtning och dessutom lovar bättre prestanda under tung belastning. Samtidigt har Bcachefs nyligen kastats ut ur Linuxkärnan och flyttat till ett fristående DKMS-paket, vilket gör att framtiden nu formas utanför mainline – men med fortsatt ambition att konkurrera med tungviktarna Btrfs och ZFS.

    Det moderna Linux-filsystemet Bcachefs har släppt version 1.33, och utvecklaren Kent Overstreet beskriver det som den största nyheten på nästan två år. Det är ingen marginell uppdatering utan ett tydligt arkitektoniskt kliv som stärker Bcachefs ambition att konkurrera med etablerade filsystem som Btrfs och ZFS.

    Den största nyheten är en helt omarbetad så kallad reconcile-motor, som förenar hantering av både data och metadata, automatiserar replikering och återställning samt gör systemet mer robust under hög belastning.

    Vad är Bcachefs – kort bakgrund

    Bcachefs är ett modernt copy-on-write-filsystem för Linux med inbyggt stöd för kryptering, snapshots, komprimering, checksummor och replikering. Målet har varit att kombinera den funktionsrikedom man hittar i ZFS med tät Linux-integration och hög prestanda.

    Under 2025 hamnade projektet dock i blåsväder. Efter en offentlig konflikt mellan Linus Torvalds och Bcachefs huvudutvecklare Kent Overstreet stoppades fortsatt utveckling i Linux 6.17. När Linux 6.18 släpptes togs hela Bcachefs-koden bort ur kärnträdet.

    Detta hade kunnat innebära slutet för filsystemet, men projektet valde i stället en ny väg.

    Ut ur kärnan – men inte död

    För att kunna fortsätta utvecklas och användas distribueras Bcachefs nu som en extern kernelmodul via DKMS, på liknande sätt som exempelvis proprietära grafikdrivrutiner. Det innebär att filsystemet inte längre är en del av Linuxkärnan, men ändå kan användas så länge modulen kan byggas mot den aktuella kernelversionen.

    Det är i detta nya sammanhang som Bcachefs 1.33 lanseras.

    Reconcile – hjärtat i version 1.33

    Den nya reconcile-motorn, tidigare kallad rebalance_v2, är den största förändringen i versionen. Den ansvarar nu för både användardata och metadata i ett och samma system.

    Motorn reagerar automatiskt på diskfel, borttagna enheter och ändrade replikeringsinställningar. Data eller metadata som blivit underreplikerad återskapas automatiskt utan att administratören behöver köra särskilda reparationskommandon.

    Flera äldre kommandon har därför blivit överflödiga och tagits bort. I stället introduceras nya och tydligare verktyg, bland annat reconcile status och reconcile wait, som ger bättre överblick över systemets tillstånd.

    Smartare schemaläggning och jämnare prestanda

    Reconcile-arbetet har även fått en mer genomtänkt intern prioritering. Degraderade datasegment behandlas först, samtidigt som mekaniska hårddiskar hanteras på ett sätt som minimerar onödiga sökrörelser.

    Detta ger mindre störningar i normal drift och betydligt jämnare prestanda, särskilt i system som kombinerar SSD och HDD.

    Tekniska förbättringar under ytan

    Förutom de synliga förändringarna innehåller version 1.33 omfattande förbättringar i själva backend-koden. Bland annat har sammanslagning av B-trädnoder gjorts asynkron, vilket reducerar låsning och förbättrar skalbarhet.

    Loggning och räknare har städats upp, och felrapporter är nu tydligare uppdelade mellan mjuka och hårda fel. Dessutom har återställningsprocesser fått bättre framstegsrapportering, vilket gör dem lättare att följa i praktiken.

    Utvecklarna har även påbörjat ett långsiktigt moderniseringsarbete av kodbasen genom att ta bort många äldre goto-baserade felhanteringsvägar. Detta ses som ett förberedande steg inför en möjlig framtida övergång till Rust.

    Nya monterings- och filsystemsval

    Bcachefs 1.33 introducerar också nya valmöjligheter för avancerade användare och administratörer. Bland annat tillkommer mount_trusts_udev, som ger bättre kontroll över hur lagringsenheter identifieras, samt writeback_timeout, som styr hur länge data får ligga i skrivcache innan den skrivs till disk.

    Dessa inställningar ger finare kontroll över beteendet i både desktop- och servermiljöer.

    Distributionsläget i dag

    Eftersom Bcachefs inte längre är en del av huvudkärnan varierar stödet mellan olika Linuxdistributioner. Arch Linux, Gentoo, Void och Fedora tillhandahåller färdiga paket. Debian och Ubuntu saknar officiellt stöd men kan använda Bcachefs via projektets externa APT-förråd på apt.bcachefs.org.

    openSUSE erbjuder paket genom Open Build Service, medan NixOS i dagsläget endast inkluderar användarverktygen och inte kernelmodulen.

    Samtliga distributioner är numera beroende av en ut-ur-trädet-modul, vanligen via DKMS, för att aktivera Bcachefs.

    Slutsats

    Trots att Bcachefs förlorat sin plats i Linuxkärnan visar version 1.33 att projektet är långt ifrån nedlagt. Den nya reconcile-motorn, förbättrad självläkning och omfattande intern upprustning gör detta till ett av de mest betydelsefulla släppen hittills.

    För avancerade Linuxanvändare, systemadministratörer och lagringsentusiaster förblir Bcachefs ett intressant och tekniskt ambitiöst filsystem att följa.

    https://bcachefs.org

    Bcachefs 1.33 – kort fakta

    • Ny ”reconcile”-motor som hanterar både data och metadata.

    • Automatiserad replikering och återhämtning vid diskfel.

    • Förbättrad prestanda, loggning och felrapportering under hög last.

    • Körs nu som DKMS-modul i stället för att ligga i Linuxkärnans huvudträd.

    • Paket finns bland annat för Arch, Gentoo, Void och Fedora.

Etikett: Copy-on-write

  • Bcachefs 1.33 – ett stort steg framåt för Linux moderna filsystem

    Det moderna Linux-filsystemet Bcachefs står inför sin kanske största förändring hittills. Med version 1.33 får det en helt ny “reconcile”-motor som både sköter data och metadata, automatiskt hanterar replikering och återhämtning och dessutom lovar bättre prestanda under tung belastning. Samtidigt har Bcachefs nyligen kastats ut ur Linuxkärnan och flyttat till ett fristående DKMS-paket, vilket gör…