mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.5 KiB
40 lines
1.5 KiB
================================== |
|
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.
|
|
|