Rust-native

Designed around Rust,
not just written in it

BrewFS uses Rust to organize concurrent FUSE requests, VFS operations, metadata clients, object IO, buffer lifecycles, Chunk / Block / Slice layout, compaction, and GC.


Concurrent Agent IO

Rust for concurrent agent IO

Multi-agent workloads create many concurrent file operations: reads, writes, stats, directory scans, log appends, artifact updates, and task-state changes.

BrewFS uses Rust to organize these paths with explicit ownership, async IO, and clear type boundaries across FUSE, VFS, metadata, and object storage layers.

Concurrent FUSE requests

Async object IO

Type-safe Chunk / Block / Slice

Metadata backend isolation

Predictable buffer lifecycle

Agent workspace friendly


Why Rust

Why Rust for a filesystem

Memory safety for long-running daemons

A filesystem daemon runs for a long time and handles many concurrent requests. Rust's memory-safety model is a strong fit for this type of systems software.

Predictable runtime for IO-heavy workloads

Storage systems need predictable resource behavior. Rust's no-GC runtime model is well suited for IO-heavy data paths.

Ownership for buffers and caches

Buffers, slices, cache entries, and object blocks have complex lifecycles. Rust's ownership model makes these boundaries explicit.

Strong types for storage layers

Chunk, Block, Page, and Slice concepts are represented with strong type boundaries to reduce accidental layer mixing.

Async pipeline for object IO

Object storage reads, writes, prefetching, compaction, and GC are naturally asynchronous. BrewFS uses Rust async patterns to structure these operations.


JuiceFS is production-first.
BrewFS is Rust-first.

JuiceFS provides a mature cloud-native filesystem product. BrewFS explores how a Rust-native, layer-aware filesystem can better serve agent-style RandRW workloads and developer-controlled storage infrastructure.