diff --git a/NFS-Server.md b/NFS-Server.md index ccde4e3..ec3378a 100644 --- a/NFS-Server.md +++ b/NFS-Server.md @@ -16,6 +16,21 @@ use it for production workloads that depend on advisory file locking — shared NLM / NFSv4 lock state is not implemented yet (see [Limitations](#limitations)). +```mermaid +flowchart LR + Client["NFS client
(Linux / macOS)"] + NFS["weed nfs"] + Filer["Filer"] + Volumes["Volume servers"] + + Client -- "NFSv3 RPC" --> NFS + NFS -- "metadata" --> Filer + NFS -- "chunk read / write" --> Volumes + Filer -. "AssignVolume" .-> Volumes +``` + +Metadata RPCs go to the filer; chunk bytes flow directly between the NFS head and volume servers. + ## Overview The NFS server provides: @@ -150,21 +165,6 @@ servers are not reachable from the NFS host. ## Architecture -```mermaid -flowchart LR - Client["NFS client
(Linux / macOS)"] - NFS["weed nfs"] - Filer["Filer"] - Volumes["Volume servers"] - - Client -- "NFSv3 RPC" --> NFS - NFS -- "metadata" --> Filer - NFS -- "chunk read / write" --> Volumes - Filer -. "AssignVolume" .-> Volumes -``` - -Metadata RPCs go to the filer; chunk bytes flow directly between the NFS head and volume servers. - ### Deterministic Filehandles Every filer entry in this PR now carries a filer-assigned inode