Bcachefs维修代码达到完整&强劲复苏

Bcachefs维修代码达到完整&强劲复苏-每日运维
就在为Bcachefs提交Linux 6.9 pull请求以更好地应对“极端文件系统损坏”的两天之后,针对当前周期提交了另一个pull请求,旨在提高这个更新的写时复制(copy-on-write)开源文件系统的恢复能力。

虽然有一千多行新代码,但这个最新的pull请求旨在大幅提高Bcachefs的修复能力。它仍然在内核周期的Linux 6.9“修复”阶段发送,因为至少它现在在帮助从文件系统故障中恢复方面应该更加健壮。Bcachefs首席开发人员Kent Overstreet指出,有了这些最新的补丁,文件系统的修复代码“应该是完整的”,如果没有,他希望立即听到任何问题。

Overstreet在pull请求中解释说,要使Bcachefs的修复代码保持良好状态:

“更多的小修复,和新的修复代码。

现在,我们可以通过扫描从任意损坏的内部b树节点中自动恢复,并且可以根据需要重建元数据,使文件系统恢复到工作、一致、读写状态,并保留对未损坏部分的访问。

也就是说,除了区段和方向叶节点之外,您可以删除所有元数据,修复将重建其他所有内容,并在正确的路径下为您提供数据。如果inode丢失,i_size将会稍微关闭,权限/所有权/时间戳将会消失,如果使用快照,我们仍然需要快照b树——在将来,我们将能够在某些情况下猜测快照树的结构。

除了找出剩余的bug(模糊测试仍在进行中),修复代码应该是完整的,如果修复不工作,这是我想要立即知道的最高优先级的bug。

这个补丁被一位来自印度的用户善意地测试了,他不小心从家庭电脑上的三个驱动器文件系统中删除了一个驱动器,没有复制——花了几周时间,但我们把所有重要的东西都恢复了。”

The code now awaits pulling by Linus Torvalds for further enhancing the Bcachefs quality on the mainline kernel.