High Velocity Kernel File Systems with Bento
Samantha Miller (1), Kaiyuan Zhang (1), Mengqi Chen (1), Ryan Jennings, (1), Ang Chen (2), Danyang Zhuo (3), Tom Anderson (1) ((1) University of, Washington, (2) Rice University, (3) Duke University)

TL;DR
Bento is a framework enabling high-velocity development of Linux kernel file systems in safe Rust, allowing quick updates, debugging, and minimal disruption, with performance comparable to native systems.
Contribution
It introduces Bento, a novel framework for developing Linux kernel file systems in Rust that supports hot swapping and debugging, improving development speed and safety.
Findings
Bento file systems perform similarly to ext4 in benchmarks.
Bento outperforms FUSE by 7x on 'git clone'.
Dynamic file provenance tracking is achievable with 15ms interruption.
Abstract
High development velocity is critical for modern systems. This is especially true for Linux file systems which are seeing increased pressure from new storage devices and new demands on storage systems. However, high velocity Linux kernel development is challenging due to the ease of introducing bugs, the difficulty of testing and debugging, and the lack of support for redeployment without service disruption. Existing approaches to high-velocity development of file systems for Linux have major downsides, such as the high performance penalty for FUSE file systems, slowing the deployment cycle for new file system functionality. We propose Bento, a framework for high velocity development of Linux kernel file systems. It enables file systems written in safe Rust to be installed in the Linux kernel, with errors largely sandboxed to the file system. Bento file systems can be replaced with no…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Advanced Data Storage Technologies · Parallel Computing and Optimization Techniques
