SquirrelFS: using the Rust compiler to check file-system crash consistency
USENIX Symposium on Operating Systems Design and Implementation(2024)
摘要
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 SquirrelFS
achieves similar or better performance on a wide range of benchmarks and
applications.
更多查看译文
AI 理解论文
溯源树
样例
![](https://originalfileserver.aminer.cn/sys/aminer/pubs/mrt_preview.jpeg)
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要