思科發(fā)布純 Rust 編寫的 PuzzleFS 文件系統(tǒng) Linux 驅(qū)動程序
發(fā)布時間:2023-06-13 10:28:12
PuzzleFS 是使用 Rust 編寫的 Linux 下一代容器文件系統(tǒng),具有快速映像構(gòu)建、支持直接安裝和思科工程師正在開發(fā)的其他容器優(yōu)化功能。
思科工程師 Ariel Miculas 在 Linux PuzzleFS 文件系統(tǒng)上發(fā)布了一個初始的補丁系列,其內(nèi)核驅(qū)動程序完全使用 Rust 編寫,這是在 Linux 正式引入 Rust 支持后的首批重要的 Rust 文件系統(tǒng)內(nèi)核驅(qū)動程序。
目前,這個 PuzzleFS for Linux 的 Rust 驅(qū)動程序被認為是概念驗證階段,還處于對社區(qū)“征求意見”的狀態(tài)。
補丁系列對 PuzzleFS 進行了詳細的描述:
Puzzlefs 是一個容器文件系統(tǒng),旨在解決現(xiàn)有 OCI 格式的局限性。
該項目的主要目標是減少重復、可重現(xiàn)的圖像構(gòu)建、直接安裝支持和內(nèi)存安全保證,其中一些靈感來自 OCIv2 設(shè)計文檔。另一個目標是可復制的圖像構(gòu)建,這是通過定義圖像格式的規(guī)范表示來實現(xiàn)的。
puzzlefs 的一個關(guān)鍵特性是支持直接安裝,它與 fs-verity 一起提供數(shù)據(jù)完整性。目前,puzzlefs 作為用戶空間文件系統(tǒng) (FUSE) 實現(xiàn)。只讀內(nèi)核文件系統(tǒng)驅(qū)動程序正在進行開發(fā)。
內(nèi)存安全對 puzzlefs 至關(guān)重要,導致決定在 Rust 語言中實現(xiàn)它。
對這個 Rust 編寫的 PuzzleFS 驅(qū)動程序感興趣的朋友可以在內(nèi)核郵件中進一步查看詳情,PuzzleFS 代碼可以在GitHub 上找到。