Documentation: convert nfs.txt to ReST
This patch converts nfs.txt to RST. It also moves it to admin-guide. The reason for moving it is because this document contains information useful for system administrators, as noted on the following paragraph: 'The purpose of this document is to provide information on some of the special features of the NFS client that can be configured by system administrators'. Signed-off-by: Daniel W. S. Almeida <dwlsalmeida@gmail.com> Link: https://lore.kernel.org/r/cb9f2da2f2f6dd432b4cf9e05f79f74f4d54b6ab.1578697871.git.dwlsalmeida@gmail.com Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
parent
a1986433a9
commit
2f123b9a35
|
@ -76,6 +76,7 @@ configure specific aspects of kernel behavior to your liking.
|
||||||
device-mapper/index
|
device-mapper/index
|
||||||
efi-stub
|
efi-stub
|
||||||
ext4
|
ext4
|
||||||
|
nfs/index
|
||||||
gpio/index
|
gpio/index
|
||||||
highuid
|
highuid
|
||||||
hw_random
|
hw_random
|
||||||
|
|
8
Documentation/admin-guide/nfs/index.rst
Normal file
8
Documentation/admin-guide/nfs/index.rst
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
=============
|
||||||
|
NFS
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
nfs-client
|
|
@ -1,3 +1,6 @@
|
||||||
|
==========
|
||||||
|
NFS Client
|
||||||
|
==========
|
||||||
|
|
||||||
The NFS client
|
The NFS client
|
||||||
==============
|
==============
|
||||||
|
@ -59,10 +62,11 @@ The DNS resolver
|
||||||
|
|
||||||
NFSv4 allows for one server to refer the NFS client to data that has been
|
NFSv4 allows for one server to refer the NFS client to data that has been
|
||||||
migrated onto another server by means of the special "fs_locations"
|
migrated onto another server by means of the special "fs_locations"
|
||||||
attribute. See
|
attribute. See `RFC3530 Section 6: Filesystem Migration and Replication`_ and
|
||||||
http://tools.ietf.org/html/rfc3530#section-6
|
`Implementation Guide for Referrals in NFSv4`_.
|
||||||
and
|
|
||||||
http://tools.ietf.org/html/draft-ietf-nfsv4-referrals-00
|
.. _RFC3530 Section 6\: Filesystem Migration and Replication: http://tools.ietf.org/html/rfc3530#section-6
|
||||||
|
.. _Implementation Guide for Referrals in NFSv4: http://tools.ietf.org/html/draft-ietf-nfsv4-referrals-00
|
||||||
|
|
||||||
The fs_locations information can take the form of either an ip address and
|
The fs_locations information can take the form of either an ip address and
|
||||||
a path, or a DNS hostname and a path. The latter requires the NFS client to
|
a path, or a DNS hostname and a path. The latter requires the NFS client to
|
||||||
|
@ -78,8 +82,8 @@ Assuming that the user has the 'rpc_pipefs' filesystem mounted in the usual
|
||||||
(2) If no valid entry exists, the helper script '/sbin/nfs_cache_getent'
|
(2) If no valid entry exists, the helper script '/sbin/nfs_cache_getent'
|
||||||
(may be changed using the 'nfs.cache_getent' kernel boot parameter)
|
(may be changed using the 'nfs.cache_getent' kernel boot parameter)
|
||||||
is run, with two arguments:
|
is run, with two arguments:
|
||||||
- the cache name, "dns_resolve"
|
- the cache name, "dns_resolve"
|
||||||
- the hostname to resolve
|
- the hostname to resolve
|
||||||
|
|
||||||
(3) After looking up the corresponding ip address, the helper script
|
(3) After looking up the corresponding ip address, the helper script
|
||||||
writes the result into the rpc_pipefs pseudo-file
|
writes the result into the rpc_pipefs pseudo-file
|
||||||
|
@ -94,43 +98,44 @@ Assuming that the user has the 'rpc_pipefs' filesystem mounted in the usual
|
||||||
script, and <ttl> is the 'time to live' of this cache entry (in
|
script, and <ttl> is the 'time to live' of this cache entry (in
|
||||||
units of seconds).
|
units of seconds).
|
||||||
|
|
||||||
Note: If <ip address> is invalid, say the string "0", then a negative
|
.. note::
|
||||||
entry is created, which will cause the kernel to treat the hostname
|
If <ip address> is invalid, say the string "0", then a negative
|
||||||
as having no valid DNS translation.
|
entry is created, which will cause the kernel to treat the hostname
|
||||||
|
as having no valid DNS translation.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
A basic sample /sbin/nfs_cache_getent
|
A basic sample /sbin/nfs_cache_getent
|
||||||
=====================================
|
=====================================
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
ttl=600
|
ttl=600
|
||||||
#
|
#
|
||||||
cut=/usr/bin/cut
|
cut=/usr/bin/cut
|
||||||
getent=/usr/bin/getent
|
getent=/usr/bin/getent
|
||||||
rpc_pipefs=/var/lib/nfs/rpc_pipefs
|
rpc_pipefs=/var/lib/nfs/rpc_pipefs
|
||||||
#
|
#
|
||||||
die()
|
die()
|
||||||
{
|
{
|
||||||
echo "Usage: $0 cache_name entry_name"
|
echo "Usage: $0 cache_name entry_name"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
[ $# -lt 2 ] && die
|
[ $# -lt 2 ] && die
|
||||||
cachename="$1"
|
cachename="$1"
|
||||||
cache_path=${rpc_pipefs}/cache/${cachename}/channel
|
cache_path=${rpc_pipefs}/cache/${cachename}/channel
|
||||||
|
|
||||||
case "${cachename}" in
|
|
||||||
dns_resolve)
|
|
||||||
name="$2"
|
|
||||||
result="$(${getent} hosts ${name} | ${cut} -f1 -d\ )"
|
|
||||||
[ -z "${result}" ] && result="0"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
die
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
echo "${result} ${name} ${ttl}" >${cache_path}
|
|
||||||
|
|
||||||
|
case "${cachename}" in
|
||||||
|
dns_resolve)
|
||||||
|
name="$2"
|
||||||
|
result="$(${getent} hosts ${name} | ${cut} -f1 -d\ )"
|
||||||
|
[ -z "${result}" ] && result="0"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
die
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
echo "${result} ${name} ${ttl}" >${cache_path}
|
Loading…
Reference in a new issue