mountd: Support junction management plug-ins nfs-utils-1-2-6-rc5
authorChuck Lever <chuck.lever@oracle.com>
Thu, 5 Jan 2012 21:24:16 +0000 (16:24 -0500)
committerSteve Dickson <steved@redhat.com>
Thu, 5 Jan 2012 21:27:05 +0000 (16:27 -0500)
commitab74900ff59ef54e2ef7e2523b2f6f1ea8e695c8
tree7927117d50384516054407c3d384761a2eea0b48
parent652f1c23dec57e139410ae62516d582216854531
mountd: Support junction management plug-ins

To support FedFS and NFS junctions without introducing additional
build-time or run-time dependencies on nfs-utils, the community has
chosen to use a dynamically loadable library to handle junction
resolution.

There is one plug-in library for mountd that will handle any NFS-
related junction type.  Currently there are two types:

  o nfs-basic locally stored file set location data, and

  o nfs-fedfs file set location data stored on an LDAP server

mountd's support for this library is enabled at build time by the
presence of the junction API definition header:

  /usr/include/nfs-plugin.h

If this header is not found on the build system, mountd will build
without junction support, and will operate as before.

Note that mountd does not cache junction resolution results.  NFSD
already caches these results in its exports cache.  Thus each time
NFSD calls up to mountd, it is, in essence, requesting a fresh
junction resolution operation, not a cached response.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
configure.ac
utils/mountd/Makefile.am
utils/mountd/cache.c