Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

nfsd: document kernel interfaces for nfsd configuration

These are only needed by nfs-utils. But I needed to remind myself how
they worked recently and thought this might be helpful. It's short and
incomplete for now as I was only interested in startup, shutdown, and
configuration of listening sockets.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>

+41
+41
Documentation/filesystems/nfs/nfsd-admin-interfaces.txt
··· 1 + Administrative interfaces for nfsd 2 + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 3 + 4 + Note that normally these interfaces are used only by the utilities in 5 + nfs-utils. 6 + 7 + nfsd is controlled mainly by pseudofiles under the "nfsd" filesystem, 8 + which is normally mounted at /proc/fs/nfsd/. 9 + 10 + The server is always started by the first write of a nonzero value to 11 + nfsd/threads. 12 + 13 + Before doing that, NFSD can be told which sockets to listen on by 14 + writing to nfsd/portlist; that write may be: 15 + 16 + - an ascii-encoded file descriptor, which should refer to a 17 + bound (and listening, for tcp) socket, or 18 + - "transportname port", where transportname is currently either 19 + "udp", "tcp", or "rdma". 20 + 21 + If nfsd is started without doing any of these, then it will create one 22 + udp and one tcp listener at port 2049 (see nfsd_init_socks). 23 + 24 + On startup, nfsd and lockd grace periods start. 25 + 26 + nfsd is shut down by a write of 0 to nfsd/threads. All locks and state 27 + are thrown away at that point. 28 + 29 + Between startup and shutdown, the number of threads may be adjusted up 30 + or down by additional writes to nfsd/threads or by writes to 31 + nfsd/pool_threads. 32 + 33 + For more detail about files under nfsd/ and what they control, see 34 + fs/nfsd/nfsctl.c; most of them have detailed comments. 35 + 36 + Implementation notes 37 + ^^^^^^^^^^^^^^^^^^^^ 38 + 39 + Note that the rpc server requires the caller to serialize addition and 40 + removal of listening sockets, and startup and shutdown of the server. 41 + For nfsd this is done using nfsd_mutex.