近期,Linus Torvalds 在 Linux 内核邮件列表中针对谷歌一位贡献者提出的文件系统建议表达了强烈的不满,他的言辞之激烈,引发了业界的广泛关注。
这场争议的焦点是“inode”——这是文件系统中一个重要的概念,Red Hat 定义它为“文件系统上特定元数据的唯一标识符”。
近几周,inode 的讨论在 Linux 内核邮件列表上愈演愈烈。Torvalds 和来自谷歌的 Steven Rostedt 围绕此议题展开了激烈的辩论。有观点提出,在使用 tar 命令进行文件打包时,inode 仍然扮演着重要角色。但 Torvalds 坚持认为,inode 的重要性已随着时间逐渐减弱。
“没错,inode 号码曾有过其特殊的意义,这背后有着深厚的历史渊源。但我们必须积极地走出这段历史的束缚。” Torvalds 在帖子中写道,“inode 号码不再是一个能提供唯一标识的标准。我们已不在 1970 年代,文件系统的演进已经是不可逆转的。”
尽管如此,关于 inode 的讨论并未画上句号。Rostedt 最终提出,每个 inode 都应有其唯一编号。
对此,Torvalds 的反应异常强烈,他使用了近年少见的语言和语调。
还记得 2018 年,Torvalds 曾因为在电子邮件中轻率攻击其他 Linux 程序员和项目贡献者而宣布休假并寻求帮助。他承认自己的行为“既不专业也无端”,尤其是在他将攻击变得个人化时,“我现在明白这是不可接受的,我对此深感歉意。”
Linux 内核邮件列表实际上是许多贡献者的工作场所。攻击性的言论无疑会破坏工作氛围。鉴于 Linux 项目依赖志愿者贡献者和维护者,一个充满敌意的工作环境可能会对项目造成严重影响。
在回应 Rostedt 关于 inode 唯一编号的建议时,Torvalds 表达了自己的立场:“不要让事情变得比必要的更复杂。”
他的语气逐渐变得激烈:“该死的,别再复制 VFS 层的功能了。上次那样做就已经是个糟糕的主意了,这次更是如此。我不能接受这种无理的做法。”
Torvalds 批评 Rostedt 未能完全理解问题的本质,而 Rostedt 后来也承认了这一点。但在那时,Torvalds 已经对他进行了尖锐的指责:“你复制那个功能却没理解其真正的目的,导致你的代码一塌糊涂。”
虽然讨论在更为温和的气氛中继续,Torvalds 提出了自认为更合理的解决方案。这位“企鹅皇帝”表示,他不打算立即追究这件事,因为“我已经在这上面浪费了太多时间,我在其他职责上已经落后了,现在我无法处理这件事。”
Rostedt 的回复带着一丝讽刺:“讽刺的是,我一直推迟的职责之一是编写维护者倦怠支持小组的文档。”
随后,Torvalds 转向了更令人振奋的事情——Linux 内核的 6.8-rc2 版本首次亮相。Torvalds 指出,rc1 版本中包含了一个可能导致桌面挂起的 amdgpu 调度错误,“这个问题似乎影响了相当多的人。” 幸运的是,一个可能的 btrfs 错误在 rc1 发布前就被发现并修复了。
Torvalds 表达了他对即将到来的 rc2 版本的希望:“现在我们进入发布周期的更稳定阶段,解决了可能影响许多测试者的问题。所以希望修复将更加微妙,不会影响常见的核心设置。”
他以一个鼓励的语气结束了帖子:“所以出去测试吧。现在安全了。你相信我,对吧?”
当然——如果问题只是关于开发一个内核的话。