Kent Overstreet, ontwikkelaar van het bestandssysteem Bcachefs, heeft patches voorgesteld die het Linux-kernel mogelijk maken om met het bestandssysteem Bcachefs te werken, zelfs na schade aan een aanzienlijk volume metadata, waarbij eventueel beschadigde b-bomen kunnen worden herbouwd op basis van metadata uit inode- en dirent-structuren. De wijzigingen zijn geaccepteerd door Linus Torvalds en zijn opgenomen in de huidige testupdate van kernel 6.9-rc3.
De wijzigingen maken het mogelijk om beschadigde bestandssystemen te monteren en bieden toegang tot alle of bijna alle gegevens in het bestandssysteem die zijn aangetast door een recente fout die leidde tot schade aan het bestandssysteem. De fout deed zich voor wanneer een poging werd gedaan om de bestandssysteemstructuren bij te werken na een update van de toolkit, maar deze poging niet werd voltooid, waarna de kernel met de oude implementatie van Bcachefs een downgrade-poging ondernam van de structuren en het niet-voltooide update negeerde. Deze situatie leidde tot een 'split brain mode', waarin geen van de bewerkingen kan worden voltooid en de b-tree-structuren van het bestandssysteem niet langer consistent zijn met de werkelijke inhoud.
De genoemde patch maakt het mogelijk om door te gaan met werken, zelfs in dergelijke gevallen. Een van de beperkingen van de technologie is dat als er snapshots zijn, de b-tree van de snapshots aanwezig moet zijn en in goede staat moet verkeren.
Bron: opennet.ru
