Bcachefs 现在已经加入了各种内核组件的行列,在 Linux 6.13 合并窗口之前发送抢占式拉取请求,该合并窗口预计将在周日预期的 Linux 6.12 版本之后打开。
除了 Bcachefs 解决剩余的错误之外,对于 Linux 6.13,这个下一代写入时复制 Linux 文件系统还有更多功能工作。Bcachefs for Linux 6.13 围绕自我修复支持带来了更多功能,增强了 reflink 修复功能,并改进了重新平衡数据路径选项处理。加上各种修复和清理,这些修复和清理没有被纳入 Linux 6.12 的依据。
Bcachefs 维护者 Kent Overstreet 解释了 Linux 6.13 的功能变化:
– 自我修复工作:
Allocator 和 reflink 现在运行与 fsck 在运行时执行的检查/修复代码完全相同(如果适用)。这里的长期目标是通过将 fsck 代码提升到正常的运行时路径来消除 inconsistent() 错误(导致我们进入紧急只读状态);只有当我们检测到由于运行时错误或真正的灾难性损害(损坏的 btree 根/内部节点)而导致的不一致时,我们才应该紧急只读。
– reflink 修复不再删除 reflink 指针:相反,我们翻转一个错误位并记录错误,它们仍然可以通过文件删除来删除。这意味着暂时无法找到间接范围(可能稍后由 btree 节点扫描修复)不会导致不必要的数据丢失
– 对再平衡数据路径选项处理的改进:我们现在可以正确地将更改的文件系统级 io 路径选项应用于待处理的再平衡工作,并且很快我们将能够将文件级 io 路径选项更改应用于间接范围。
有关适用于 Linux 6.13 的 Bcachefs 功能补丁的完整列表,请参阅拉取请求。
转自 Bcachefs Brings Self-Healing Work & Better Reflink Repair For Linux 6.13 – Phoronix