Bcachefs Brings Self-Healing Work & Better Reflink Repair For Linux 6.13
([Linux Storage] 4 Hours Ago
Bcachefs + Linux 6.13)
- Reference: 0001506309
- News link: https://www.phoronix.com/news/Bcachefs-Linux-6.13
- Source link:
[1]Bcachefs has now joined the party of various kernel components sending in preemptive pull requests ahead of the Linux 6.13 merge window that is expected to open following [2]the expected Linux 6.12 release on Sunday .
In addition to [3]Bcachefs working its way through remaining bugs , for Linux 6.13 there is also more feature work in tow for this next-gen, copy-on-write Linux file-system. Bcachefs for Linux 6.13 brings more feature work around self-healing support, enhancing reflink repair capabilities, and improving the re-balance data path option handling. Plus various fixes and clean-ups that didn't make the cut for warranting inclusion into Linux 6.12.
Bcachefs maintainer Kent Overstreet explained of the feature changes for Linux 6.13:
- Self healing work:
Allocator and reflink now run the exact same check/repair code that fsck does at runtime, where applicable.
The long term goal here is to remove inconsistent() errors (that cause us to go emergency read only) by lifting fsck code up to normal runtime paths; we should only go emergency read-only if we detect an inconsistency that was due to a runtime bug - or truly catastrophic damage (corrupted btree roots/interior nodes).
- Reflink repair no longer deletes reflink pointers: instead we flip an error bit and log the error, and they can still be deleted by file deletion. This means a temporary failure to find an indirect extent (perhaps repaired later by btree node scan) won't result in unnecessary data loss
- Improvements to rebalance data path option handling: we can now correctly apply changed filesystem-level io path options to pending rebalance work, and soon we'll be able to apply file-level io path option changes to indirect extents.
See [4]the pull request for the full list of Bcachefs feature patches destined for Linux 6.13.
[1] https://www.phoronix.com/search/Bcachefs
[2] https://www.phoronix.com/news/Linux-6.12-Feature-Reminder
[3] https://www.phoronix.com/news/Bcachefs-Failures-Drop-40p
[4] https://lore.kernel.org/lkml/e7xjq5qdnmh2rga5aymowasfe32harb3wqrpktisy3ynikaqyo@xtawzmqxidif/
In addition to [3]Bcachefs working its way through remaining bugs , for Linux 6.13 there is also more feature work in tow for this next-gen, copy-on-write Linux file-system. Bcachefs for Linux 6.13 brings more feature work around self-healing support, enhancing reflink repair capabilities, and improving the re-balance data path option handling. Plus various fixes and clean-ups that didn't make the cut for warranting inclusion into Linux 6.12.
Bcachefs maintainer Kent Overstreet explained of the feature changes for Linux 6.13:
- Self healing work:
Allocator and reflink now run the exact same check/repair code that fsck does at runtime, where applicable.
The long term goal here is to remove inconsistent() errors (that cause us to go emergency read only) by lifting fsck code up to normal runtime paths; we should only go emergency read-only if we detect an inconsistency that was due to a runtime bug - or truly catastrophic damage (corrupted btree roots/interior nodes).
- Reflink repair no longer deletes reflink pointers: instead we flip an error bit and log the error, and they can still be deleted by file deletion. This means a temporary failure to find an indirect extent (perhaps repaired later by btree node scan) won't result in unnecessary data loss
- Improvements to rebalance data path option handling: we can now correctly apply changed filesystem-level io path options to pending rebalance work, and soon we'll be able to apply file-level io path option changes to indirect extents.
See [4]the pull request for the full list of Bcachefs feature patches destined for Linux 6.13.
[1] https://www.phoronix.com/search/Bcachefs
[2] https://www.phoronix.com/news/Linux-6.12-Feature-Reminder
[3] https://www.phoronix.com/news/Bcachefs-Failures-Drop-40p
[4] https://lore.kernel.org/lkml/e7xjq5qdnmh2rga5aymowasfe32harb3wqrpktisy3ynikaqyo@xtawzmqxidif/
Quackdoc