长期 Linux 内核开发人员 Matthew Wilcox 发起了一项“是时候删除 reiserfs 了吗?”的讨论。Wilcox 删除 ReiserFS 的动机是由于,他正在追求的内核基础设施的变化,但 ReiserFS 遗留在一定程度上对他的工作造成了阻碍。
Wilcox 指出,除了 Syzbot 的修复和其 tree-wide 代码的修改,ReiserFS 在最近几年几乎都没有新动向;至少从 2019 年开始,似乎就没有任何用户上报的 bug 被修复了。
在树中保留 reiserfs 有一定的代价。 例如,我非常希望删除 ->write_begin 的"flags"参数。我们已经有了处理 AOP_FLAG_NOFS 的基础设施,但 AOP_FLAG_CONT_EXPAND 仍然存在,只被 reiserfs 使用。
翻看过去几年对 reiserfs 的补丁,有对一些 syzbot 报告和 treewide 修改的修复。自 2019 年以来,似乎没有对用户发现的 bug 进行任何修复。reiserfs 是否仍然有一个庞大的安装基础,只是对一个旧的稳定文件系统非常满意? 还是它的所有用户都已经迁移到了新的、令人兴奋的、有积极功能开发的文件系统?
我们以前也删除过对老旧文件系统的支持(ext, xiafs),所以这并不是没有先例。不过,虽然我清楚地知道移除 reiserfs 对其他开发者的好处,但我没有足够的信息来衡量用户的成本。 也许他们对 5.15 支持他们的 reiserfs 文件系统感到满意,并且可以在 5.15 之后升级内核之前迁移到其他文件系统。
除了直接删除之外,另一种可能性是将内核代码精简到对 reiserfs 的只读支持。大多数 reiserfs 的“怪癖”都与写支持有关,所以这可能是一个有用的方法。 同样,我不清楚人们是如何使用 reiserfs 的,所以我不知道它是否有用。
根据介绍,ReiserFS 于 21 年前作为 Linux 内核的第一个日志文件系统被引入,并在早期开源文件系统中提供了创新功能。有一段时间,ReiserFS 在 SUSE Linux 上被默认使用,并且在 Namesys 时代有着积极的功能开发。
但自从 ReiserFS 的主要开发者 Hans Reiser 在 15 年前因谋杀妻子而被定罪后,除了前 Namesys 开发者 Edward Shishkin 的相关工作外,ReiserFS(或 Reiser4)已经停滞很长一段时间了。虽然 Shishkin 一直在推动 Reiser4/Reiser5 的发展,但随着用户兴趣的减少,ReiserFS 的代码也已基本“腐烂”。且鉴于它与 Hans Reiser 的关系,似乎没有公司愿意再参与其中。更何况如今还有了 EXT4、XFS、Btrfs,甚至是 OpenZFS 这些更好的选择。
而为了大家能够更理性的讨论决策,Wilcox 特意在讨论帖的最后进行了声明表示,这是一个纯粹的技术讨论,不要涉及相关人物。在该讨论帖的下方,Edward Shishkin 则为 ReiserFS 发布一个补丁,以摆脱 AOP_FLAG_CONT_EXPAND flag。
不过,一些其他的内核开发者已经表现出了对废弃/删除该文件系统的意向。按照此前有过的删除内核功能的常见做法,ReiserFS 有可能在实际删除之前被弃用几个内核版本。
从目前的评论来看,看起来 ReiserFS 可能会在 2022 年被弃用,以便在未来的主线 Linux 内核版本中被移除。Dave Chinner 还建议考虑弃用其他未维护且不符合 2038 年的旧 Linux 文件系统的计划。
本文地址:https://www.oschina.net/news/184022/linux-deprecation-reiserfs