Cisco Posts Rust-Written PuzzleFS File-System Driver For Linux

Written by Michael Larabel in Linux Storage on 9 June 2023 at 05:50 AM EDT. 23 Comments
LINUX STORAGE
PuzzleFS is a next-generation container file-system for Linux with fast image building, direct-mount support, and other container-optimized features being worked on by Cisco engineers. And it's written in Rust.

Ariel Miculas of Cisco today posted an initial "request for comments" patch series on this PuzzleFS file-system with the kernel driver written in Rust. For now this Rust driver is considered proof-of-concept. The patch series goes on to describe PuzzleFS as:
Puzzlefs is a container filesystem designed to address the limitations of the existing OCI format. The main goals of the project are reduced duplication, reproducible image builds, direct mounting support and memory safety guarantees, some inspired by the OCIv2 design document.

Reduced duplication is achieved using the content defined chunking algorithm FastCDC. This implementation allows chunks to be shared among layers. Building a new layer starting from an existing one allows reusing most of the chunks.

Another goal of the project is reproducible image builds, which is achieved by defining a canonical representation of the image format.

Direct mounting support is a key feature of puzzlefs and, together with fs-verity, it provides data integrity. Currently, puzzlefs is implemented as a userspace filesystem (FUSE). A read-only kernel filesystem driver is underway.

Lastly, memory safety is critical to puzzlefs, leading to the decision to implement it in Rust. Another goal is to share the same code between user space and kernel space in order to provide one secure implementation.

Interesting work and this would be the first significant Rust file-system kernel driver posted yet for the ongoing work around introducing Rust support into the mainline Linux kernel.

PuzzleFS


The RFC patch series for the Rust-coded PuzzleFS driver can be found on the kernel mailing list. The PuzzleFS code can also be found on GitHub.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week