皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

‌Linux 文件系统泛滥成负担:对未来文件系统的功能要求‌

Linux 内核源码树中文件系统数量的不断增长,给负责维护其周边虚拟文件系统(VFS)代码及相关代码的上游开发者带来了持续的负担。由于不断有新的文件系统被提议加入 Linux 内核,因此引入了新的文档,以确立将新文件系统纳入主线内核的明确指导方针。

从 fs/ 目录下的文件夹来看,截至当前 v7.1 版本开发阶段,主线 Linux 内核中大约包含了 69 种不同的文件系统(例如,NFS 就占用了多个目录)。这些文件系统包括 EXT4、Btrfs、F2FS 和 XFS 等本地文件系统,也包括 NFS 这样的网络文件系统,以及 proc 这样的伪文件系统(pseudo file-system),还有 ZoneFS 这类专用文件系统,甚至包括 BeFS 和 JFS 等早已过时的遗留系统。Linux 上如此庞大的文件系统阵容带来了巨大的维护压力,尤其是当某些文件系统不再有活跃的维护者时,问题更加严重。

由于最近又提出了 FTRFS 和 VMUFAT 两种新文件系统的提案,加之“被遗弃且无法测试的文件系统给 VFS 开发者带来的持续维护负担”,VFS 维护者决定是时候制定一份文档,为新文件系统进入主线内核设立更加清晰、明确的准入标准。

‌Linux 文件系统泛滥成负担:对未来文件系统的功能要求‌

该文档重点关注‌采用性‌、‌可测试性‌、‌用户态工具支持‌、‌维护者的承诺‌以及‌用户基础的可持续性‌。文档建议开发者在可能的情况下,优先考虑‌扩展现有的文件系统‌,而不是从头创建一个新的文件系统。对于一些‌小众用途的文件系统场景‌,也鼓励尽可能使用运行在用户空间的文件系统(如 FUSE)来实现。

所提出的技术要求包括:必须使用现代的 VFS 接口,不得依赖已被标记为废弃(deprecated)的代码;必须提供必要的用户态工具,以支持文件系统的创建和检查(如 mkfs 和 fsck 类工具);需要具备有意义的测试方案,并提供完整的文档说明。

文档还明确指出,如果一个文件系统因维护者‌不再响应‌、‌未能适配 Linux 内核基础设施的变化‌,或导致‌测试无法进行‌,那么该文件系统可能会被标记为‌弃用‌(deprecation),并最终从 Linux 内核中移除。

感兴趣的人士可以在 VFS.git 开发树中名为 “vfs-7.2.misc” 的补丁队列中找到这份初步的文档,该补丁计划在今夏 Linux 7.2 合并窗口开启前被合并。

转自 Linux File-System Proliferation A Burden: Requirements Laid Out For Any Future File-Systems – Phoronix