Kent Overstreet, dezvoltatorul sistemului de fișiere Bcachefs, a propus seturi de patch-uri care permit nucleului Linux să funcționeze cu sistemul de fișiere Bcachefs chiar și după deteriorarea unei părți semnificative din metadate, reconstruind, dacă este necesar, arborii b deteriorați din metadatele structurii inode și dirent. Modificările au fost acceptate de Linus Torvalds și incluse în actualizarea testului actual pentru nucleul 6.9-rc3.
Modificările permit montarea sistemelor de fișiere deteriorate și oferă acces la toate sau aproape toate datele din sistemul de fișiere afectat de recent apăruta eroare care ducea la distrugerea sistemului de fișiere. Eroarea s-a manifestat atunci când o tentativă de actualizare a structurii sistemului de fișiere era inițiată, dar nu finalizată, după actualizarea instrumentelor, ceea ce determina nucleul cu o implementare veche a Bcachefs să încerce să facă downgrade la versiunea structurilor, ignorând actualizarea neterminată. O astfel de situație ducea la intrarea în „modul split brain”, când niciuna dintre operațiuni nu putea fi finalizată, iar structurile b-tree ale sistemului de fișiere nu mai erau consistente cu conținutul real.
Patch-ul menționat permite continuarea funcționării și în astfel de cazuri. Printre limitările tehnologiei se menționează că, în prezența instantaneelor, b-arborii instantaneelor trebuie să existe și să fie funcționali.
Sursa: opennet.ro
