projects techreports press lab location staff
citi top.2 top.3
citi mid.3
bot.1 bot.2 bot.3

Projects: NFS Version 4 Open Source Reference Implementation

NFSv4 for linux 2.6 kernels

Any recent distribution should include kernels and userspace utilities with NFSv4 and rpcsec_gss support, and development versions can generally be found at

This page has some pointers to related development projects.

Much of this code is work in progress, which may be only lightly tested before release.

The NFSv4 Client Priorities and NFSv4 Server Priorities gives some oudated estimates of the progress of our effort.

CITI sources

In the case of code written for existing projects, we provide either a git repository or patches. Patches must be applied to the upstream sources, which are linked to under "Upstream sources", below.
  • A kernel repository is available from git://, which you can also browse here.
  • nfs4-acl-tools-0.3.3.tar.gz has commandline and GUI (pic) NFSv4 ACL tools, which deal directly with NFSv4 ACLs.
  • acl-2.2.42-CITI_NFS4_ALL-2.dif. (For developers, there is also a git repository; browse the repository here or available from git:// This patches the standard posix acl tools so they can handle NFSv4 ACLs by translating between posix and NFSv4 ACLs. The translation is lossy, and the patches make fundamental utilities such as cp and ls depend on ldap and krb5 libraries (among others), so the above is preferred.
  • SPKM-3 implementation. Updated 12/21/2005. To use this SPKM-3 implementation within NFSv4 requires a kernel patch (CITI_NFS4_ALL.dif does not yet contain the needed changes. Instead, try this patch). To compile SPKM-3, follow the instructions in the INSTALL file. It is recommended that you use the above provided version of libgssglue. To test out the userland SPKM-3 code, please use a simple client/server app provided in the tarball. If you have any questions, contact either Olga Kornievskaia or Andy Adamson

Note: Recent linux distributions have included NFSv4/rpcsec_gss support, which may be sufficient for your purposes; Building the following from source should only be necessary if you want to check for bugfixes or need new features in our very latest experimental code.)

Notes on building these can be found here.

Upstream sources

Unpatched tarballs to which the above patches apply:


The following instructions are meant to be followed, in order, after downloading all of the sources above.

Mailing list and irc


NFSv4/linux work elsewhere projects | techreports | press | lab | location | staff Email address
or call +1 734 763 2929
Copyright © 1996-2013
The Regents of the University of Michigan