vnfs
A vectorized NFSv4.1 client library written in Rust.
NFSv4 supports compounds that coalesce many small file operations into one
round trip, which can dramatically cut network latency for metadata-heavy
workloads. The POSIX file API cannot use this, so vnfs exposes a
vectorized VecFs API (the idea from the FAST'17 paper
vNFS: Maximizing NFS Performance with Compounds and Vectorized I/O)
as a Rust crate.
Backends
The crate is backend-agnostic through the VecFs trait:
NfsVecFs— an NFSv4.1 implementation on top of libntirpc, batching many operations (lookups, readdirs, getattrs, opens, reads, ...) into few large compounds.DummyVecFs— astd::fs-backed implementation so the same API also works on non-NFS filesystems (and is handy for tests).
Example
use ;
License
Licensed under either of
- Apache License, Version 2.0
- MIT license
at your option.