41 lines · plain
1==================================2Administrative interfaces for nfsd3==================================4 5Note that normally these interfaces are used only by the utilities in6nfs-utils.7 8nfsd is controlled mainly by pseudofiles under the "nfsd" filesystem,9which is normally mounted at /proc/fs/nfsd/.10 11The server is always started by the first write of a nonzero value to12nfsd/threads.13 14Before doing that, NFSD can be told which sockets to listen on by15writing to nfsd/portlist; that write may be:16 17 - an ascii-encoded file descriptor, which should refer to a18 bound (and listening, for tcp) socket, or19 - "transportname port", where transportname is currently either20 "udp", "tcp", or "rdma".21 22If nfsd is started without doing any of these, then it will create one23udp and one tcp listener at port 2049 (see nfsd_init_socks).24 25On startup, nfsd and lockd grace periods start. nfsd is shut down by a write of260 to nfsd/threads. All locks and state are thrown away at that point.27 28Between startup and shutdown, the number of threads may be adjusted up29or down by additional writes to nfsd/threads or by writes to30nfsd/pool_threads.31 32For more detail about files under nfsd/ and what they control, see33fs/nfsd/nfsctl.c; most of them have detailed comments.34 35Implementation notes36====================37 38Note that the rpc server requires the caller to serialize addition and39removal of listening sockets, and startup and shutdown of the server.40For nfsd this is done using nfsd_mutex.41