-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
J. Bruce Fields
committed
Aug 21, 2012
1 parent
65b2e66
commit 8a4c6e1
Showing
1 changed file
with
41 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |