找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 55|回复: 0

[科技新闻] 等到Linux 6.17就分手!Linus再被Bcachefs惹怒:公开要求为新特性开后门?

[复制链接]
  • 打卡等级:已臻大成
  • 打卡总天数:411
发表于 2025-7-4 17:50 | 显示全部楼层 |阅读模式

马上注册,查看更多内容,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)投稿或寻求报道 | zhanghy@csdn.net
一套被称为“下一代”的文件系统,刚被 Linux 主线接受一年半,如今又濒临出局边缘。
前一阵子,在 Linux 内核开发社区中,一场围绕 Bcachefs 的“流程之争”愈演愈烈——Linux 之父 Linus Torvalds 再次对 Bcachefs 项目的主要维护者 Kent Overstreet 表达强烈不满,原因是其在内核 6.16 的候选版本RC阶段提交了带有新功能的补丁,这严重违背了 Linux 长期以来的开发规则。
经过持续一周争议Linus Torvalds 最终还是选择将那段代码合并,但也对 Bcachefs 给出了一个颇具警示意味的表态:“事情到了这个地步,我都不想再参与了。我们唯一真正达成一致的,大概就是‘我们已经结束了’。”

1.webp



2.webp

雷区引爆:RC 阶段加入新功能?
要说 Bcachefs 是 Linux 社区最具争议的文件系统之一,恐怕没人会反对。
这个项目由 Kent Overstreet 于 2015 年发布,初衷是打造一个兼具 Btrfs 灵活性与 ext4 稳定性的现代文件系统,具备写时复制(COW)、快照、压缩、校验等功能,被视作 Btrfs 的有力替代者。过去十年,它一直以外部模块的形式活跃于社区,直到 2024 年初,它才终于正式被纳入 Linux 6.7 主线内核。
但 Bcachefs 这段主线之路,并不平坦。
Bcachefs 的开发过程向来“风格鲜明”。Kent Overstreet 既是主力代码撰写者,也是唯一的核心维护者。他以高强度迭代、极度关注用户 Bug 反馈著称,几乎亲力亲为地处理所有问题正因为如此,Bcachefs 很快积累了一批忠实用户——尤其是对 Btrfs 曾“翻车”过的开发者来说。
但在 Linus Torvalds 眼里,这样的开发方式,也常常意味着流程不合规、代码管理混乱。
本次争议的导火索来自一个看似不大的功能补丁:journal_rewind。
这个功能的设计目的是允许文件系统回滚到较早的状态点,用于极端情况下的数据恢复。虽然功能尚未完善,Kent Overstreet 承认目前存在“较大限制”希望能尽早推送到主线,避免用户在数据丢失时束手无策。
于是Kent Overstreet 便将这个新功能补丁与一些 Bug 修复补丁一起打包,提交至 Linux 6.16-rc3 候选阶段——问题就在于此。
根据 Linux 内核的开发规范,新功能代码只能在合并窗口(merge window)期间提交,而 Linux 6.16 的合并窗口早已经关闭在 RC 阶段只接受 Bug 修复(pure fixes)。但 Bcachefs 团队试图以“提升数据安全”为由,为新特性开绿灯,希望绕过这条铁律。
意料之中针对这一提交,Linus Torvalds 直言不讳地表达了不满:“你似乎又忘了‘合并窗口’存在的意义。我们不能因为发现新问题,就在 RC 阶段添加新功能。”此外他还补充所有使用 Bcachefs 的人都应该知道,它是个实验性文件系统
值得一提的是,除了 Linus Torvalds,一向以稳健著称的 ext4 维护者 Theodore Ts'o 也发声对 Kent Overstreet 表达不满。他指出,在 RC 阶段引入如此重大的变更,尤其是在文件系统这种高度依赖数据一致性与稳定性的核心模块中,风险极高、极易埋雷。Theodore 强调,内核社区早已就“RC 阶段只能提交 Bug 修复”这一原则达成广泛共识,而 Linus 的职责正是维护这条底线——言下之意很明确:没人可以例外,流程不是儿戏。


3.webp

Kent 不服:“规则不是用来死守的”
面对 Linus Torvalds 的指责,Kent Overstreet 并未示弱。他在邮件中长篇回应,核心观点只有一个:规则应以用户利益为先,而非无脑死守
Kent Overstreet 指出,文件系统与 Linux 内核其他子模块不同,其设计缺陷往往会在用户生产环境中造成不可逆损失“其他模块崩了大不了重启,但文件系统出问题可能就是数据全无。”
他进一步解释道此次的 journal_rewind 只是一段约 70 行的小补丁本质就是让日志回倒序执行覆盖操作而非增量更新,主要用来抢救可能丢失的数据。
有开发者提出建议:“要么等到下一个合并窗口期再合并?”但 Kent Overstreet 提到,很多用户根本不具备从 Git 编译内核的能力,而 RC 版本在各大发行版中是自动打包的:“我们不想再等 3 个月,这可能是用户在数据崩溃和恢复之间的关键差异。”
对于社区反复强调“合并窗口就是规则”的观点,Kent Overstreet 也没有退让:“规矩当然有存在的必要,但有时候,也需要判断力和常识。
同时,他还强调自己才是 Bcachefs 的负责人,每天处理来自用户的 Bug 报告、跟踪哪些东西正常哪些有问题的人是他,不是别人,也不是 Linus。“这种对每一行补丁的‘微管理’行为,只是在制造冲突和戏剧性。”


4.webp

Linus 沉默合并,但留下“分手预警”
这场争议持续了一周最终以 Linus Torvalds 将这段代码合并作为收尾
上周晚上或许考虑到这项功能对数据恢复具有潜在价值Linus Torvalds 在没有任何额外说明的情况下,还是Bcachefs 合并请求整合进主线内核
5.webp


不过,在另一封与 Bcachefs 相关的邮件中,Linus Torvalds 写道:
我已经合并了这部分内容,但正如我们上次讨论的那样,我认为我们会在 Linux 6.17 的合并窗口‘分道扬镳’。你已经明确表示,我连对任何 Bug 修复提出质疑的资格都没有,只能什么都合并。坦白讲,在这种情况下,我真的不太愿意继续参与。而我们唯一真正达成一致的,大概就是——‘我们已经结束了’。”
至于这对 Bcachefs 意味着什么,还有待观察。Linus Torvalds 是否会直接将 Bcachefs 踢出主线?还是只是会更严格地执行“候选阶段只允许修复,不得添加新功能”的内核开发规范?现在还无法确定。

面对 Linus Torvalds 和 Kent Overstreet 之间的这场争论社区内开发者演变成了两个阵营
 支持 Linus Torvalds我没有和 Linus 共事过,所以无法评论他的语气但与其说我不喜欢现在的做法,不如在内核内部聚集支持者,共同商讨出一个具体的解决方案,明确需要修改哪些内容以及如何修改,并最终制定一份正式的提案,列出所有支持者的名字,这样会更有。如果我是管理层,有人跟我说我不知道具体怎么做,但可以改一些东西,我会觉得他们是在挑事
 支持 Kent Overstreet我实在不明白 Linus 生气的是什么。Kent 说得对,Linus 有时候真是想当然,而不是根据具体情况来考虑问题。Kent 的 Bcachefs 实际上是第一个添加到 Linux 内核的、具有意义重大的新功能,却因为“流程”而受到如此多的阻力。过去Linux 内核是如何引入其他新功能的?如果按照这个新流程,添加一个新文件系统需要的时间可能是几十年,而不是几年。
那么对于此次事件看法又是什么呢
参考链接https://www.phoronix.com/news/Bcachefs-One-Week-Later-Merge
您需要登录后才可以回帖 登录 | 注册

本版积分规则

文字版|手机版|小黑屋|RSS|举报不良信息|精睿论坛 ( 鄂ICP备07005250号-1 )|网站地图

GMT+8, 2025-7-5 12:05 , Processed in 0.215454 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表