nfs
Userspace Rust NFS client library.
Use NFS exports without mounting them into the local filesystem.
Status
Under active development. Not recommended for production use yet.
Protocols
- NFSv3 over ONC RPC/TCP
- NFSv4.2 over ONC RPC/TCP
- Blocking clients by default
- Tokio clients with the
tokiofeature
Install
[]
= "0.1"
# Enable async clients
= { = "0.1", = ["tokio"] }
# Protocol types only
= { = "0.1", = false, = ["protocol"] }
Example
let mut client = connect?;
client.write?;
let data = client.read?;
# Ok::
let mut client = connect?;
client.write?;
let data = client.read?;
client.shutdown?;
# Ok::
Notes
timeout(...),retry_policy(...), andreconnect()are available on high-level clients.AuthSys::current()sends uid, primary gid, and up to 16 supplementary groups.- Common errors expose helpers such as
is_not_found(),is_retryable(), andis_permission_denied().
Not Implemented
- RPCSEC_GSS/Kerberos
- pNFS
- NFSv4 callbacks/delegations
- NLM file locking
- UDP transport