Filesystems · Cluster

Network Filesystems

Remote semantics, caching, and locking.

  1. 01 NFS File Handles and the Server That Keeps No Open Files A short opaque byte string replaces the path on the wire, and because it is the only identifier the server retains, every request must be self-describing. That choice explains reboot survival, silly renames, and ESTALE. foundational · Aug 9, 2025
  2. 02 Retransmission and the Duplicate Request Cache A lost reply is indistinguishable from a lost request, so a client resends and a server must decide whether the operation already ran. The reply cache is the mechanism that turns at-least-once delivery into at-most-once execution. foundational · Jan 23, 2023
  3. 03 Attribute Caching and Close-to-Open Consistency Every stat over the network is a round trip, so clients cache attributes with short leases and validate them on reuse. The guarantee that emerges is not POSIX coherence but a weaker promise tied to open and close. foundational · Aug 20, 2026
  4. 04 Unstable Writes, COMMIT, and the Verifier A write may be acknowledged before the server has put the data on stable storage. The reply says how stable it is, and the client decides whether to ask for a commit — a decision that trades latency against the risk of losing an acknowledged write. intermediate · Sep 23, 2026
  5. 05 Byte-Range Locks and What Happens When a Client Dies The server owns the lock, the client owns the local enforcement, and neither can see the other side. That split explains lock leasing, the difference between local and NLM locking, and why a dead client blocks a range until the server notices. intermediate · May 15, 2024
  6. 06 Delegations, Callback Channels, and Recall A server can hand a client authority over a file so the client stops asking, but it must be able to take that authority back. The mechanism is a lease with a reverse direction, and its hard part is the recall path. intermediate · May 26, 2025
  7. 07 Hard and Soft Mounts: What a Client Does When the Server Stops Answering A hung server turns every file operation into an indefinite wait. The mount option decides whether the client retries forever, gives up with an error, or interrupts the call, and each choice moves the failure somewhere else. intermediate · Jun 9, 2024
  8. 08 Grace Periods and Reclaiming State After a Server Restart A server that keeps open state loses it on reboot, while its clients still believe they hold locks and delegations. The grace period is the interval in which only reclaims are accepted, and its length is a bet on how fast clients notice. advanced · Nov 10, 2025
  9. 09 Credentials on the Wire and Identity Squashing The client asserts who the caller is on every request, and the server decides whether to believe it. That decision is where network filesystems diverge from local permission checking, and where the root account becomes the recurring problem. advanced · May 8, 2024
  10. 10 pNFS Layouts: Separating the Metadata Path from the Data Path A parallel NFS layout is a grant from the metadata server to read and write directly from storage devices it does not control. The layout type, the layout state, and the recall of a layout determine what the client can do without asking. advanced · Dec 13, 2025