NFSv4 - how to set up at FreeBSD 8.1 ?

Rick Macklem rmacklem at
Wed Jan 5 13:43:51 UTC 2011

> Rick Macklem <rmacklem at> wrote:
> > ... one of the fundamental principals for NFSv2, 3 was a stateless
> > server ...
> Only as long as UDP transport was used. Any NFS implementation that
> used TCP for transport had thereby abandoned the stateless server
> principle, since a TCP connection itself requires that state be
> maintained on both ends.
You've seen the responses w.r.t. what stateless server referred to
already. But you might find this "quirk" interesting...

Early in the NFSv4 design, I suggested that handling of the server
state (opens/locks/...) might be tied to the TCP connections (NFSv4
doesn't use UDP). Lets just say the idea "flew like a lead balloon".
Lots of responses along the lines of "NFS should be separate for the
RPC transport layer, etc.

Then, several years later, they came up with Sessions for NFSv4.1, which
does RPC transport management in a very NFSv4.1-specific way, including
stuff like changing the RPC semantics to exactly-once... Although very
different from what I had envisioned, in a sense Sessions does tie state
handling (ordering of locking operations, for example) to RPC transport
management as I currently understand it.


More information about the freebsd-stable mailing list