转自:开源中国
因与维护者 Kent Overstreet 之间存在分歧,Linux 创始人 Linus Torvalds 威胁要将 Bcachefs 文件系统从内核中移除出去。
Linus 在最新拉取评论中表示有可能在 6.17 合并窗口期间会与 Bcachefs 分道扬镳。
他给出的理由是双方的开发理念存在巨大分歧,Torvalds 说他甚至无法对 Bcachefs 的 bug 修复提出任何质疑,好像他只能按照 Kent 的要求拉取代码,他说双方争吵之后的唯一共识是“we're done”。
事情的导火索发生在 Linux 6.16-rc 阶段。按惯例,内核合并窗口(merge window)一过,后续的 rc 版本周期只接受错误修复,不加入新功能。
但 Kent 在 6.16-rc3 发布后不久提交通知,请求合入一个名为“journal-rewind”的新功能补丁。据称这是为改进 Bcachefs 文件系统修复工具而设计,可以解决用户报告的一项数据损坏隐患。
然而这个补丁牵涉范围较大,改动超过一千行代码,而且严格来说属于新特性 —— 明显有违 rc 阶段“只修 Bug 不添新功能”的规则。
Linus 对此十分不满,当即在邮件中表示:“看起来你又把合并窗口的本意给忘了。不能因为你发现了别的 Bug,就趁机开始往里加新特性”。简而言之,Linus 觉得 Kent不守规矩,挑战了内核开发的流程共识。
面对 Linus 的训斥,Kent 不但没有认错收手,反而据理力争,坚持这个“journal-rewind”并非普通新功能,而是修复致命问题所需,认为规则不该不近人情。
更劲爆的是,两人在邮件中你来我往,话越说越冲。
Linus 虽然一贯以暴脾气闻名,这回却是 Kent 先爆了粗口。据社区整理的邮件记录,Kent 在回复 Linus 时开篇就略带火药味地写道:
“Linus,我不是想说你对 Bcachefs 就不能发表意见,没这意思,老实讲我挺乐意和你合作 —— 前提是你别这么几把难搞。不过你有时候真是疯了,而且经常这样……”
Kent Overstreet 认为,文件系统与 Linux 内核其他子模块不同,其设计缺陷往往会在用户生产环境中造成不可逆损失:“其他模块崩了大不了重启,但文件系统出问题可能就是数据全无。”
Kent 直言自己并非无视 Linus 的建议,而是希望 Linus “能消停点”,别老是把每次提 Pull Request 都变成兴师问罪、上纲上线的大戏:“就像我说的——我一直以来只希望你别老揪着 Pull Request 阶段不放,非要把所有争论都压到合并请求里来摊牌。”
在和 Kent Battle 期间,Linus 勉强接受了那份包含争议功能的 Pull Request(也就是暂时合入了“journal-rewind”补丁),但随即放出狠话:
“补丁我拉了,但照我们讨论的情况来看,6.17 合并窗口的时候,我们恐怕就要分道扬镳了。你已经明确表示我今后对你的补丁连问都不该问,反正你递过来的东西我就得全盘照收。说真的,在那种情况下,我完全不觉得参与其中还有任何意义。我们俩最后似乎唯一达成的共识就是—— “到此为止”(“we're done”)—— Linus 已经决定不再掺和 Bcachefs 的维护,言下之意就是要把它踢出内核主线。
相关来源
分道扬镳:bcachefs作者对Linus口吐芬芳
https://lore.kernel.org/linux-bcachefs/xl2fyyjk4kjcszcgypirhoyflxojzeyxkzoevvxsmo26mklq7i@jw2ou76lh2py/
https://lwn.net/Articles/1027289/
- EOF -