Kent Overstreet, the developer of the Bcachefs file system, proposed patches that would allow the kernel Linux Work with the Bcachefs filesystem even after significant metadata corruption, rebuilding corrupted b-trees, if necessary, using metadata from inode and dirent structures. The changes were accepted by Linus Torvalds and included in today's 6.9-rc3 kernel test update.
The changes ensure that damaged file systems are mounted and provide access to all or almost all data in the file system affected by the recent bug that led to the destruction of the file system. The error appeared when, after updating the toolkit, an attempt was made to update the FS structures, but was not completed, after which the kernel with the old Bcachefs implementation attempted to downgrade the version of the structures, ignoring the incomplete update. This situation led to entering βsplit brain modeβ, when none of the operations could be completed, and the b-tree structures of the file system were no longer consistent with the real contents.
The mentioned patch allows you to continue working even in such cases. Among the limitations of the technology, it is mentioned that in the presence of snapshots, the snapshot b-tree must be present and operational.
Source: opennet.ru
