The text in the manpages about the export table is a bit outdated, and doesn't mention the in-kernel cache which is an import part of that table. As a future patch will enable logging of updates to that cache, it is important to have the caching behaviour documented. So update that section of both man pages, and make a few other minor improvements. Signed-off-by: NeilBrown <neilb@xxxxxxx> --- utils/exportd/exportd.man | 46 +++++++++++++++++++++------------------------ utils/mountd/mountd.man | 46 ++++++++++++++++++++++++++++----------------- 2 files changed, 50 insertions(+), 42 deletions(-) diff --git a/utils/exportd/exportd.man b/utils/exportd/exportd.man index d788456244b2..0dbf0c80466a 100644 --- a/utils/exportd/exportd.man +++ b/utils/exportd/exportd.man @@ -10,30 +10,23 @@ nfsv4.exportd \- NFSv4 Server Mount Daemon .SH DESCRIPTION The .B nfsv4.exportd -is used to manage NFSv4 exports. The NFSv4 server -receives a mount request from a client and pass it up to -.B nfsv4.exportd. -.B nfsv4.exportd -then uses the exports(5) export -table to verify the validity of the mount request. -.PP -An NFS server maintains a table of local physical file systems -that are accessible to NFS clients. -Each file system in this table is referred to as an -.IR "exported file system" , -or -.IR export , -for short. -.PP -Each file system in the export table has an access control list. +is used to manage NFSv4 exports. +The NFS server +.RI ( nfsd ) +maintains a cache of authentication and authorization information which +is used to identify the source of each requent, and then what access +permissions that source has to any local filesystem. When required +information is not found in the cache, the server sends a request to .B nfsv4.exportd -uses these access control lists to determine -whether an NFS client is permitted to access a given file system. -For details on how to manage your NFS server's export table, see the -.BR exports (5) -and -.BR exportfs (8) -man pages. +to fill in the missing information. +.B nfsv4.exportd +uses a table of information stored in +.B /var/lib/nfs/etab +and maintained by +.BR exportfs (8), +possibly based on the contents of +.BR exports (5), +to respond to each request. .SH OPTIONS .TP .B \-d kind " or " \-\-debug kind @@ -46,7 +39,8 @@ Run in foreground (do not daemonize) Display usage message. .TP .BR "\-t N" " or " "\-\-num\-threads=N " or " \-\-num\-threads N " -This option specifies the number of worker threads that rpc.mountd +This option specifies the number of worker threads that +.B nfsv4.exports spawns. The default is 1 thread, which is probably enough. More threads are usually only needed for NFS servers which need to handle mount storms of hundreds of NFS mounts in a few seconds, or when @@ -94,4 +88,6 @@ listing exports, export options, and access control lists .BR nfs.conf (5), .BR firwall-cmd (1), .sp -RFC 3530 - "Network File System (NFS) version 4 Protocol" +RFC 7530 - "Network File System (NFS) Version 4 Protocol" +.br +RFC 8881 - "Network File System (NFS) Version 4 Minor Version 1 Protocol" diff --git a/utils/mountd/mountd.man b/utils/mountd/mountd.man index 9978afcdb4cc..2e191074c65f 100644 --- a/utils/mountd/mountd.man +++ b/utils/mountd/mountd.man @@ -13,24 +13,24 @@ The .B rpc.mountd daemon implements the server side of the NFS MOUNT protocol, an NFS side protocol used by NFS version 2 [RFC1094] and NFS version 3 [RFC1813]. +It also responds to requests from the Linux kernel to authenticate +clients and provides details of access permissions. .PP -An NFS server maintains a table of local physical file systems -that are accessible to NFS clients. -Each file system in this table is referred to as an -.IR "exported file system" , -or -.IR export , -for short. -.PP -Each file system in the export table has an access control list. -.B rpc.mountd -uses these access control lists to determine -whether an NFS client is permitted to access a given file system. -For details on how to manage your NFS server's export table, see the -.BR exports (5) -and -.BR exportfs (8) -man pages. +The NFS server +.RI ( nfsd ) +maintains a cache of authentication and authorization information which +is used to identify the source of each requent, and then what access +permissions that source has to any local filesystem. When required +information is not found in the cache, the server sends a request to +.B mountd +to fill in the missing information. Mountd uses a table of information +stored in +.B /var/lib/nfs/etab +and maintained by +.BR exportfs (8), +possibly based on the contents of +.BR exports (5), +to respond to each request. .SS Mounting exported NFS File Systems The NFS MOUNT protocol has several procedures. The most important of these are @@ -78,6 +78,14 @@ A client may continue accessing an export even after invoking UMNT. If the client reboots without sending a UMNT request, stale entries remain for that client in .IR /var/lib/nfs/rmtab . +.SS Mounting File Systems with NFSv4 +Version 4 (and later) of NFS does not use a separate NFS MOUNT +protocol. Instead mounting is performed using regular NFS requests +handled by the NFS server in the Linux kernel +.RI ( nfsd ). +Consequently +.I /var/lib/nfs/rmtab +is not updated to reflect any NFSv4 activity. .SH OPTIONS .TP .B \-d kind " or " \-\-debug kind @@ -295,5 +303,9 @@ table of clients accessing server's exports RFC 1094 - "NFS: Network File System Protocol Specification" .br RFC 1813 - "NFS Version 3 Protocol Specification" +.br +RFC 7530 - "Network File System (NFS) Version 4 Protocol" +.br +RFC 8881 - "Network File System (NFS) Version 4 Minor Version 1 Protocol" .SH AUTHOR Olaf Kirch, H. J. Lu, G. Allan Morris III, and a host of others.