aha/fs/nfsd
Steve Dickson eb4c86c6a5 nfsd: introduce export flag for v4 pseudoroot
NFSv4 differs from v2 and v3 in that it presents a single unified
filesystem tree, whereas v2 and v3 exported multiple filesystem (whose
roots could be found using a separate mount protocol).

Our original NFSv4 server implementation asked the administrator to
designate a single filesystem as the NFSv4 root, then to mount
filesystems they wished to export underneath.  (Often using bind mounts
of already-existing filesystems.)

This was conceptually simple, and allowed easy implementation, but
created a serious obstacle to upgrading between v2/v3: since the paths
to v4 filesystems were different, administrators would have to adjust
all the paths in client-side mount commands when switching to v4.

Various workarounds are possible.  For example, the administrator could
export "/" and designate it as the v4 root.  However, the security risks
of that approach are obvious, and in any case we shouldn't be requiring
the administrator to take extra steps to fix this problem; instead, the
server should present consistent paths across different versions by
default.

These patches take a modified version of that approach: we provide a new
export option which exports only a subset of a filesystem.  With this
flag, it becomes safe for mountd to export "/" by default, with no need
for additional configuration.

We begin just by defining the new flag.

Signed-off-by: Steve Dickson <steved@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
2009-12-15 14:00:40 -05:00
..
auth.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
auth.h
cache.h nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
export.c nfsd: introduce export flag for v4 pseudoroot 2009-12-15 14:00:40 -05:00
Kconfig nfsd : Define NFSD only when FILE_LOCKING is enabled 2009-03-18 17:30:48 -04:00
lockd.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
Makefile
nfs2acl.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfs3acl.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfs3proc.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfs3xdr.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfs4acl.c nfsd: Source files #include cleanups 2009-12-14 18:12:09 -05:00
nfs4callback.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfs4idmap.c nfsd: Source files #include cleanups 2009-12-14 18:12:09 -05:00
nfs4proc.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfs4recover.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfs4state.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfs4xdr.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfscache.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfsctl.c nfsd: new interface to advertise export features 2009-12-14 18:51:29 -05:00
nfsd.h nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfsfh.c nfsd: let "insecure" flag vary by pseudoflavor 2009-12-14 19:08:58 -05:00
nfsproc.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfssvc.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
nfsxdr.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
state.h nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
stats.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
vfs.c nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
vfs.h nfsd: make fs/nfsd/vfs.h for common includes 2009-11-13 13:23:02 -05:00
xdr.h nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
xdr3.h nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00
xdr4.h nfsd: Move private headers to source directory 2009-12-14 18:12:12 -05:00