维护者与Linus Torvalds爆出冲突后 Linux内核可能会删除bcachefs文件系统
开源现代文件系统 bcachefs 在 2024 年被合并到 Linux Kernel 中,旨在提供高效稳定的存储解决方案,然而因为开发过程与内核社区的严格规则发生冲突,其主要开发者 Kent Overstreet 最近与 Linus Torvalds 发生激烈的冲突。
关键要点:
关于 bcachefs 在 Linux Kernel 中的争论主要聚焦于其维护者与 Linus Torvalds 之间的冲突,争议点在于是否遵守开发流程规则
Linus Torvalds 可能会在 Linux Kernel 6.17 版中移除 bcachefs 文件系统,因为其维护者在发布候选阶段提交新功能而非 BUG 修复
社区意见目前也充满分歧,部分社区成员认为 Kent 的快速稳定化需求,部分社区成员则批评 Kent 不遵守流程,对 bcachefs 发展产生不利影响
事件背景:
bcachefs 是一个开源的现代化文件系统,2024 年已经被合并到 Linux 内核中,近期 Linus Torvalds 正在准备 Linux 内核 6.16 发布候选版,此时 bcachefs 文件系统主要维护者 Kent Overstreet 提交新功能补丁。
Linus Torvalds 认为这种做法违反了发布候选阶段仅允许提交 bug 修复的规则,尽管最终新功能补丁已经被合并,但 Linus Torvalds 警告称如果继续这样违反规则,则可能会在 6.17 版内核中移除 bcachefs 文件系统的支持。
争论的焦点主要是新功能补丁:
在 Linux 内核 6.16-rc3 阶段,Kent 提交新的恢复功能补丁,通常情况下发布候选阶段只能允许提交 bug 修复补丁,不允许直接引入新功能。
为此 Linus Torvalds 在邮件列表中明确表示这种行为违反内核开发的基本规则,最初 Linus Torvalds 拒绝拉取请求,但最终还是合并了补丁。
Linus Torvalds 立场非常坚定,在邮件中他表示:我认为我们将在 6.17 合并窗口中分道扬镳,你已经很清楚地表明,我甚至不能质疑任何 bug 修复,我应该拉取任何和所有内容。
值得注意的是 Linus Torvalds 此前曾威胁在不到一年里移除 bcachefs 文件系统的相关代码,这意味着 Linus Torvalds 与 Kent 的冲突并不是当前发生的,而是一个长期累积的结果,而此次在 rc 阶段提交功能补丁视为对现有规则的再次挑战,也成为本事件的导火索。
Kent 是如何解释这件事的:
Kent 认为对于一个仍在稳定化过程的文件系统来说,bug 修复的定义应该更加灵活,像是在线修复这样的功能对于保护用户数据至关重要,不能简单地将其视为新功能。
Kent 表示 bcachefs 在过去两年里只出现 2 个影响文件系统的严重 bug 并且都已经修复,从 Linux 6.14 版开始 bug 报告数量已经明显下降。
社区成员是怎么看待这件事的:
bcachefs 文件系统被视为 ZFS 的潜在替代品,部分社区成员认为 Kent 正在为用户提供一个快速稳定化的文件系统,对于一个实验性的文件系统来说,快速修复 bug 和引入必要功能是至关重要的。
反对者则认为 Kent 无视 Linux 内核开发规则的既定流程,这种行为不仅会给 bcachefs 文件系统带来风险,还会对整个内核社区的开发秩序造成影响,尤其是如果最终该文件系统被从 Linux 内核中移除,那么会对使用该文件系统的用户造成严重影响。
也有社区成员认为 Kent 应该任命更多维护者或者通过中间人来管理 bcachefs 的更改,这样可以缓解与 Linus Torvalds 之间的直接冲突,毕竟如果最终真被移除了,用户需要自行编译内核或使用 DKMS,这对普通用户来说可能非常麻烦。
结束语:
目前 Kent 与 Linus Torvalds 似乎还未到不可调和的阶段,未来情况则取决于双方能否找到平衡点,如果矛盾继续则 bcachefs 被移出 Linux 内核,这对 bcachefs 的发展来说是个重大打击,预计也会给 Linux 生态系统造成深远影响。