SquirrelFS: using the Rust compiler to check file-system crash consistency

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: LeBlanc, Hayley, Taylor, Nathan, Bornholt, James, Chidambaram, Vijay
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866929385759571968
author LeBlanc, Hayley
Taylor, Nathan
Bornholt, James
Chidambaram, Vijay
author_facet LeBlanc, Hayley
Taylor, Nathan
Bornholt, James
Chidambaram, Vijay
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2406_09649
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle SquirrelFS: using the Rust compiler to check file-system crash consistency
LeBlanc, Hayley
Taylor, Nathan
Bornholt, James
Chidambaram, Vijay
Operating Systems
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.
title SquirrelFS: using the Rust compiler to check file-system crash consistency
topic Operating Systems
url https://arxiv.org/abs/2406.09649