PuzzleFS 是 Linux 的下一代容器文件系統,具有快速映像構建、直接安裝支持和思科工程師正在開發的其​​他容器優化功能。它是用 Rust 編寫的。

Cisco 的 Ariel Miculas 今天發布了一個關於這個 PuzzleFS 文件系統的初始“評論請求”補丁系列,其內核驅動程序是用 Rust 編寫的。目前,這個 Rust 驅動程序被認為是概念驗證。補丁系列繼續將 PuzzleFS 描述為:

Puzzlefs 是一種容器文件系統,旨在解決現有 OCI 格式的局限性。該項目的主要目標是減少重複、可重現的圖像構建、直接安裝支持和內存安全保證,其中一些靈感來自 OCIv2 設計文檔。

減少重複是使用內容定義的分塊算法 FastCDC 實現的。此實現允許塊在層之間共享。從現有層開始構建新層允許重用大部分塊。

該項目的另一個目標是可重現的圖像構建,這是通過定義圖像格式的規範表示來實現的。

直接安裝支持是 puzzlefs 的一個關鍵特性並且與 fs-verity 一起提供數據完整性。目前,puzzlefs 是作為用戶空間文件系統 (FUSE) 實現的。只讀內核文件系統驅動程序正在進行中。

最後,內存安全對 puzzlefs 至關重要,導致決定在 Rust 中實現它。另一個目標是在用戶空間和內核空間之間共享相同的代碼,以提供一個安全的實現。

有趣的工作,這將是迄今為止發布的第一個重要的 Rust 文件系統內核驅動程序對於正在進行的將 Rust 支持引入主線 Linux 內核的工作。
Rust 編碼的 PuzzleFS 驅動程序的 RFC 補丁系列可以在 內核郵件列表。 PuzzleFS 代碼也可以在 GitHub 上找到。

Categories: IT Info