导读 | 一些 XFS 用户曾反馈,在升级到最新的 Linux 6.3.3 point releases 之后,出现了元数据损坏的问题。 |
一些 XFS 用户曾反馈,在升级到最新的 Linux 6.3.3 point releases 之后,出现了元数据损坏的问题。对此,内核开发人员近日回应称已锁定了问题源头,主要是因为此次更新中删除了一行代码,导致缺少相应的补丁。
红帽公司的 XFS 开发人员 Dave Chinner 为此发布了一个补丁,旨在为受 XFS 元数据损坏问题困扰的人提供帮助。
请将此 commit 反向移植到 test 6.3.3 kernel build,看看是否能解决问题:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/fs/xfs/libxfs/xfs_bmap.c?id=9419092fb2630c30e4ffeb9ef61007ef0c61827a
这是一个错误修复,我们认为它只是修复了 stripe aligned filesystems 上的活锁。
我猜测在某些情况下,它不会在重复失败的分配上进行活锁,而是会将损坏的映射返回到 writeback code,从而误导 writeback IO。
值得一提的是,即使对于那些不使用 XFS stripes 的人来说,该补丁也为他们解决了问题。根据反馈,在安装此补丁后,硬件成功保持了 90 分钟以上的稳定状态;而其他所有的 6.3 内核在启动后几分钟内就崩溃了。所以这一补丁被认为可以有效地解决问题。
科技媒体 Phoronix 指出,目前包含该补丁的 Linux 6.3 构建正在并入 Fedora 37 和 38 测试库的途中;补丁也或将在未来几天内进入一个新的上游 Linux 6.3 point release。