SquirrelFS: using the Rust compiler to check file-system crash consistency
Hayley LeBlanc, Nathan Taylor, James Bornholt, Vijay Chidambaram

TL;DR
SquirrelFS is a crash-safe file system for persistent memory that uses Rust's typestate pattern to enforce crash consistency at compile time, simplifying correctness verification and achieving competitive performance.
Contribution
This paper introduces SquirrelFS, a novel crash-consistency mechanism integrated with Rust's typestate pattern, enabling compile-time enforcement of crash safety in file systems.
Findings
SquirrelFS achieves crash consistency verified at compile time.
Performance of SquirrelFS is comparable or superior to existing file systems.
Compilation time for SquirrelFS is only tens of seconds.
Abstract
This work introduces a new approach to building crash-safe file systems for persistent memory. We exploit the fact that Rust's typestate pattern allows compile-time enforcement of a specific order of operations. We introduce a novel crash-consistency mechanism, Synchronous Soft Updates, that boils down crash safety to enforcing ordering among updates to file-system metadata. We employ this approach to build SquirrelFS, a new file system with crash-consistency guarantees that are checked at compile time. SquirrelFS avoids the need for separate proofs, instead incorporating correctness guarantees into the typestate itself. Compiling SquirrelFS only takes tens of seconds; successful compilation indicates crash consistency, while an error provides a starting point for fixing the bug. We evaluate SquirrelFS against state of the art file systems such as NOVA and WineFS, and find that…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Digital and Cyber Forensics
