Ο Kent Overstreet, ο προγραμματιστής του συστήματος αρχείων Bcachefs, πρότεινε ενημερώσεις κώδικα που θα επέτρεπαν στον πυρήνα Linux Εργαστείτε με το σύστημα αρχείων Bcachefs ακόμα και μετά από σημαντική καταστροφή μεταδεδομένων, ανακατασκευάζοντας τα κατεστραμμένα b-trees, εάν είναι απαραίτητο, χρησιμοποιώντας μεταδεδομένα από δομές inode και dirent. Οι αλλαγές έγιναν δεκτές από τον Linus Torvalds και συμπεριλήφθηκαν στη σημερινή ενημέρωση δοκιμής πυρήνα 6.9-rc3.
Οι αλλαγές διασφαλίζουν ότι τα κατεστραμμένα συστήματα αρχείων είναι προσαρτημένα και παρέχουν πρόσβαση σε όλα ή σχεδόν όλα τα δεδομένα στο σύστημα αρχείων που επηρεάζονται από το πρόσφατο σφάλμα που οδήγησε στην καταστροφή του συστήματος αρχείων. Το σφάλμα εμφανίστηκε όταν, μετά την ενημέρωση της εργαλειοθήκης, έγινε προσπάθεια ενημέρωσης των δομών FS, αλλά δεν ολοκληρώθηκε, μετά την οποία ο πυρήνας με την παλιά υλοποίηση του Bcachefs προσπάθησε να υποβαθμίσει την έκδοση των δομών, αγνοώντας την ημιτελή ενημέρωση. Αυτή η κατάσταση οδήγησε στην είσοδο σε «λειτουργία διαχωρισμού εγκεφάλου», όταν καμία από τις λειτουργίες δεν μπορούσε να ολοκληρωθεί και οι δομές b-tree του συστήματος αρχείων δεν ήταν πλέον συνεπείς με το πραγματικό περιεχόμενο.
Το αναφερόμενο έμπλαστρο σάς επιτρέπει να συνεχίσετε να εργάζεστε ακόμα και σε τέτοιες περιπτώσεις. Μεταξύ των περιορισμών της τεχνολογίας, αναφέρεται ότι παρουσία στιγμιότυπων, το στιγμιότυπο b-tree πρέπει να είναι παρόν και να λειτουργεί.
Πηγή: opennet.ru
