早在 2023 年末,Linux 内核的虚拟文件系统(VFS)代码就有了 Rust 抽象。现在,微软工程师 Wedson Almeida Filho 发布了这些补丁的第二次迭代…除了对 Rust VFS 绑定的各种改进之外,新补丁还带来了一个正在开发中的 EXT2 Rust 文件系统驱动程序。
去年 10 月,Rust VFS 抽象发布了最初的 “意见征集”,当时有两个文件系统实现作为该抽象的用户:Tarfs 和 PuzzleFS。PuzzleFS 是用于容器的文件系统,而 Tarfs 则是基于 Tar 文件的文件系统。随着今天发布的 RFC v2 补丁,现在还有一个正在开发中的 EXT2 Rust 驱动程序,可以使用 Rust 抽象。
是的,是 EXT2 而不是 EXT4。虽然 EXT2 源自上世纪 90 年代,在现代系统中的实际 Linux 使用并不多,但在 Rust 中实现 EXT2 比使用 EXT4 更容易上手。微软工程师韦德森-阿尔梅达-菲略(Wedson Almeida Filho)负责用 Rust 编写了这个基本的 EXT2 驱动程序,目前主要支持只读。是的,微软为Linux内核中的Rust做了很多工作。EXT2 Rust 驱动程序目前的基本形式只有不到 600 行 Rust 代码。
更新后的 Rust VFS 绑定继续满足只读文件系统的需求。今天发布的新补丁增加了 iomap 支持、去掉了缓冲区头并实现了其他功能。有关这一最新 Rust Linux 尝试的更多详情,请参阅 Rust VFS v2 (RFC) 抽象补丁。
转自 Microsoft Engineer Ports EXT2 File-System Driver To Rust – Phoronix