Nog niet zo heel lang geleden werd het Btrfs bestandssysteem met loftrompetten binnengehaald. Volgens T’so -hoofdontwikkelaar van Ext4- zou er geen Ext5 meer komen, want de toekomst van Ext4 is Btrfs. Sommige distributies zijn er enthousiast mee aan het werk gegaan en hebben het filesystem al een tijdje als standaard geïntegreerd. En toen kondigde Red Hat aan dat er geen volgende versie meer zou komen van Btrfs. Einde verhaal? 

Het is waar dat Red Hat een leidende partij is in open source. En als Red Hat iets zegt, zal dat voor heel veel bedrijven die gebruik maken van Red Hat en daaraan gerelateerde software ook inderdaad de werkelijkheid worden. Maar met het afschaffen van Btrfs is er toch ineens een leegte die wel ergens mee opgevuld moet worden. 

Wat was er ook alweer aan de hand? Het grote voordeel van Btrfs is dat het een CoW filesystem is. CoW staat voor Copy on Write en betekent dat oude datablokken niet overschreven worden wanneer nieuwe datablokken weggeschreven worden, maar eerst gekopieerd worden. Dat brengt een groot aantal voordelen met zich mee, waaronder het voordeel dat een integriteitsoplossing door middel van een filesystem journal veel minder hard nodig is. Ook wordt het heel eenvoudig om versioning toe te passen op bestanden met als gevolg dat je snel en eenvoudig terug kunt naar een voorgaande versie. 

Daarnaast is Btrfs een B-tree bestandssysteem. Dit betekent dat de wijze waarop een index van bestanden bijgehouden wordt veel slimmer is. Geen lineaire indexen, maar een database waar niet alleen metadata van bestanden, maar ook kleine bestanden opgeslagen worden. Het gevolg hiervan is dat de performance van Btrfs veel beter is voor het bewerken van kleine bestanden dan de performance van andere bestanden. En laten we duidelijk zijn: dit zijn alleen nog maar de belangrijkste features van het bestandssysteem. Btrfs komt met een hele lijst andere features die het echt hét filesysteem van de toekomst maken.

Een interessante vraag is natuurlijk wat de alternatieven zijn. Nou, die zijn er niet echt voor Linux. Natuurlijk, vanuit de BSD-wereld maakt ZFS met vergelijkbare features furore, maar ondanks verwoede pogingen van sommige distributies zullen enterprise distributies, zoals Red Hat en SUSE, nooit dit bestandssysteem als standaard gaan gebruiken. Zolang het op juridisch niveau niet volkomen duidelijk is dat er geen licentieproblemen zijn met ZFS zullen deze distributies het nooit aan hun voornamelijk grote klanten kunnen verkopen dat ze aan ZFS hun data toe moeten vertrouwen. Dus, als je ZFS wilt, dan gebruik je maar één of andere variant van FreeBSD. 

Ext4 is sowieso geen goede kandidaat, vanwege de plicht van het filesysteem om backwards compatible te blijven met Ext3 en Ext2. Het resultaat is dat het technisch onmogelijk is om echt vernieuwend te kunnen zijn in Ext4. Blijft eigenlijk als enige serieuze kandidaat het XFS bestandssysteem over. Een uitstekend en betrouwbaar bestandssysteem, waar bovendien in 2016 CoW als feature is toegevoegd. XFS is al jarenlang het schaalbare bestandssysteem, vooral goed in werken met hele grote bestanden, maar het ontbreekt aan de zeer vernieuwende features die in Btrfs en ook ZFS wel aanwezig zijn. 

Staan we dan met lege handen? Gelukkig niet. Linux gaat verder dan Red Hat en Btrfs heeft inmiddels behoorlijk wat draagvlak verworven. SUSE en Oracle maken er nog steeds gebruik van als standaard filesystem en ook hele grote klanten zoals Facebook en “die andere waarvan ik hier de naam niet mag noemen” vertrouwen hun petabytes aan data toe aan Btrfs. Btrfs gaat dus geenszins op korte termijn verdwijnen. Het is immers wel één van de sterke kanten van Linux dat je de vrijheid hebt om de oplossingen te gebruiken die je wilt. Wel is het jammer dat er weer een hoofdzaak is waarop de distributies van mening verschillen en op andere wijze naar buiten treden. Dat komt de perceptie van de eenheid van Linux helaas niet ten goede.