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

Projects: NFS Version 4 Open Source Reference Implementation

NFSv4 for linux 2.6 kernels

Basic support for NFSv4 and for rpcsec_gss is included in recent 2.6 kernels. However, not all Linux distributions ship 2.6 kernels with NFSv4 turned on by default. Also, NFSv4 and rpcsec_gss require support from userland utilities, and that userland support is still in the process of being integrated into distributions and upstream sources.

Therefore we keep a snapshot of the current state of our kernel and userland development here. The intended audience is developers, distributors, and anyone interested in testing or giving early feedback on NFSv4 development.

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 an estimate of the progress of our effort.

CITI sources

In the case of code written for existing projects, we provide only patches, which must be applied to the upstream sources, with links below.
  • linux-2.6.25-rc9-CITI_NFS4_ALL-1.dif (For developers, there is also a git repository; browse the repository here or available from git://linux-nfs.org/~bfields/linux.git). Older patches for older kernels also available.
  • nfs4-acl-tools-0.3.2.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://linux-nfs.org/~bfields/acl.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:

Instructions

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

Mailing list and irc

Status

NFSv4/linux work elsewhere

blank.space
b.star projects | techreports | press | lab | location | staff Email address
or call +1 734 763 2929
Copyright © 1996-2007
The Regents of the University of Michigan
bottom.line
citi