I have finally gotten to the stage where I would consider the release close to production and not Beta test. The current code is available for OpenBSD4.5 and FreeBSD-CURRENT plus a client port for Mac OS X 10.5 (Leopard). The client uses delegations pretty aggressively in an effort to improve performance. A brief discussion of the current state of performance related to this is in Delegation Performance.
The client port for Mac OS X 10.5 (Leopard) is now built as a Kext with binaries in the tarballs as well as sources, so people don't have to install a kernel built from modified sources. (It goes past the KPIs, so it will have to track xnu kernel changes.)
Click on ftp site or just go onto ftp.cis.uoguelph.ca anonymous ftp and cd to pub/nfsv4 (openbsd in OpenBSD4.5 and FreeBSD in pub/nfsv4/FreeBSD-CURRENT).
For some more info, here is the Readme.first file on the ftp site.
There is now a mailing list w.r.t. NFSv4 for BSD. To subscribe, just go to mailing list info or email openbsd-nfsv4-subscribe@sfobug.org.
In case you are wondering, this is just my spare time hobby. I am not funded by anyone and don't really care. Recently, the client and server have been imported into FreeBSD-CURRENT (which will become FreeBSD8) as an experimental alternative to their regular NFS client/server. The FreeBSD port has seen some testing with Edward Tomasz Napierala's NFSv4 ACL support, that is being integrated into FreeBSD-CURRENT, as well.
Click here for a Lab Tour. (You might get a chuckle out of this.)
While I have no formal connection with the CITI at The University of Michigan, there was an informal agreement (no funding, no paperwork) made in August 2002 that they would work on an NFSv4 client for FreeBSD while I worked on the server. (Since CITI has not been able to continue working on a FreeBSD client, I ported my client to FreeBSD.)
I can be emailed at rmacklem "AT" uoguelph.ca, if you have any questions.
Here are slides for the talk I gave at Connectathon 2006, discussing the design of a Duplicate Request Cache for NFSv4 over TCP.
Here are a couple of old, loosely related papers. The first had a poorly
chosen title, since it mostly discussed NFS over TCP done, I believe, for
the first time, by BSD in 1990.
It also discussed the avoidance of memory<->memory copies, which I believe
is still relevant to NFS performance
Lessons Learned Tuning The
4.3BSD Reno Implementation of the NFS Protocol
(Or download Postscript).
The second discusses a variation of the NFS protocol that was never adopted
by anyone, but provided some insights w.r.t. the use of leases, which is a
part of NFSv4
Not Quite NFS, Soft Cache Consistency for NFS
(Or download Postscript).
Links:
NFS Version 4
NFSv4 Linux Client Info
Last Updated: Aug. 5, 2009.