mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
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>
This commit is contained in:
parent
65b2e6656b
commit
8a4c6e19cf
1 changed files with 41 additions and 0 deletions
41
Documentation/filesystems/nfs/nfsd-admin-interfaces.txt
Normal file
41
Documentation/filesystems/nfs/nfsd-admin-interfaces.txt
Normal file
|
@ -0,0 +1,41 @@
|
|||
Administrative interfaces for nfsd
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Note that normally these interfaces are used only by the utilities in
|
||||
nfs-utils.
|
||||
|
||||
nfsd is controlled mainly by pseudofiles under the "nfsd" filesystem,
|
||||
which is normally mounted at /proc/fs/nfsd/.
|
||||
|
||||
The server is always started by the first write of a nonzero value to
|
||||
nfsd/threads.
|
||||
|
||||
Before doing that, NFSD can be told which sockets to listen on by
|
||||
writing to nfsd/portlist; that write may be:
|
||||
|
||||
- an ascii-encoded file descriptor, which should refer to a
|
||||
bound (and listening, for tcp) socket, or
|
||||
- "transportname port", where transportname is currently either
|
||||
"udp", "tcp", or "rdma".
|
||||
|
||||
If nfsd is started without doing any of these, then it will create one
|
||||
udp and one tcp listener at port 2049 (see nfsd_init_socks).
|
||||
|
||||
On startup, nfsd and lockd grace periods start.
|
||||
|
||||
nfsd is shut down by a write of 0 to nfsd/threads. All locks and state
|
||||
are thrown away at that point.
|
||||
|
||||
Between startup and shutdown, the number of threads may be adjusted up
|
||||
or down by additional writes to nfsd/threads or by writes to
|
||||
nfsd/pool_threads.
|
||||
|
||||
For more detail about files under nfsd/ and what they control, see
|
||||
fs/nfsd/nfsctl.c; most of them have detailed comments.
|
||||
|
||||
Implementation notes
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Note that the rpc server requires the caller to serialize addition and
|
||||
removal of listening sockets, and startup and shutdown of the server.
|
||||
For nfsd this is done using nfsd_mutex.
|
Loading…
Reference in a new issue