~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/admin-guide/nfs/nfs-client.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/admin-guide/nfs/nfs-client.rst (Version linux-6.11.5) and /Documentation/admin-guide/nfs/nfs-client.rst (Version linux-5.0.21)


  1 ==========                                        
  2 NFS Client                                        
  3 ==========                                        
  4                                                   
  5 The NFS client                                    
  6 ==============                                    
  7                                                   
  8 The NFS version 2 protocol was first documente    
  9 Since then two more major releases of NFS have    
 10 being documented in RFC1813 (June 1995), and N    
 11 2003).                                            
 12                                                   
 13 The Linux NFS client currently supports all th    
 14 and work is in progress on adding support for     
 15 protocol.                                         
 16                                                   
 17 The purpose of this document is to provide inf    
 18 special features of the NFS client that can be    
 19 administrators.                                   
 20                                                   
 21                                                   
 22 The nfs4_unique_id parameter                      
 23 ============================                      
 24                                                   
 25 NFSv4 requires clients to identify themselves     
 26 string.  File open and lock state shared betwe    
 27 is associated with this identity.  To support     
 28 and transparent state migration, this identity    
 29 across client reboots.                            
 30                                                   
 31 Without any other intervention, the Linux clie    
 32 the local system's node name.  System administ    
 33 take care to ensure that node names are fully     
 34 over the lifetime of a client system.  Node na    
 35 administrative requirements that require parti    
 36 work well as part of an nfs_client_id4 string.    
 37                                                   
 38 The nfs.nfs4_unique_id boot parameter specifie    
 39 used together with  a system's node name when     
 40 a server.  Thus, if the system's node name is     
 41 nfs.nfs4_unique_id can help prevent collisions    
 42                                                   
 43 The nfs.nfs4_unique_id string is typically a U    
 44 anything that is believed to be unique across     
 45 nfs4_unique_id string should be chosen when a     
 46 just as a system's root file system gets a fre    
 47 install time.                                     
 48                                                   
 49 The string should remain fixed for the lifetim    
 50 changed safely if care is taken that the clien    
 51 outstanding NFSv4 state has expired, to preven    
 52                                                   
 53 This string can be stored in an NFS client's g    
 54 via a net boot facility such as PXE.  It may a    
 55 module parameter.                                 
 56                                                   
 57 This uniquifier string will be the same for al    
 58 containers unless it is overridden by a value     
 59 /sys/fs/nfs/net/nfs_client/identifier which wi    
 60 namespace of the process which writes.            
 61                                                   
 62                                                   
 63 The DNS resolver                                  
 64 ================                                  
 65                                                   
 66 NFSv4 allows for one server to refer the NFS c    
 67 migrated onto another server by means of the s    
 68 attribute. See `RFC3530 Section 6: Filesystem     
 69 `Implementation Guide for Referrals in NFSv4`_    
 70                                                   
 71 .. _RFC3530 Section 6\: Filesystem Migration a    
 72 .. _Implementation Guide for Referrals in NFSv    
 73                                                   
 74 The fs_locations information can take the form    
 75 a path, or a DNS hostname and a path. The latt    
 76 do a DNS lookup in order to mount the new volu    
 77 upcall to allow userland to provide this servi    
 78                                                   
 79 Assuming that the user has the 'rpc_pipefs' fi    
 80 /var/lib/nfs/rpc_pipefs, the upcall consists o    
 81                                                   
 82    (1) The process checks the dns_resolve cach    
 83        valid entry. If so, it returns that ent    
 84                                                   
 85    (2) If no valid entry exists, the helper sc    
 86        (may be changed using the 'nfs.cache_ge    
 87        is run, with two arguments:                
 88        - the cache name, "dns_resolve"            
 89        - the hostname to resolve                  
 90                                                   
 91    (3) After looking up the corresponding ip a    
 92        writes the result into the rpc_pipefs p    
 93        '/var/lib/nfs/rpc_pipefs/cache/dns_reso    
 94        in the following (text) format:            
 95                                                   
 96                 "<ip address> <hostname> <ttl>    
 97                                                   
 98        Where <ip address> is in the usual IPv4    
 99        (ffee:ddcc:bbaa:9988:7766:5544:3322:110    
100        <hostname> is identical to the second a    
101        script, and <ttl> is the 'time to live'    
102        units of seconds).                         
103                                                   
104        .. note::                                  
105             If <ip address> is invalid, say th    
106             entry is created, which will cause    
107             as having no valid DNS translation    
108                                                   
109                                                   
110                                                   
111                                                   
112 A basic sample /sbin/nfs_cache_getent             
113 =====================================             
114 .. code-block:: sh                                
115                                                   
116     #!/bin/bash                                   
117     #                                             
118     ttl=600                                       
119     #                                             
120     cut=/usr/bin/cut                              
121     getent=/usr/bin/getent                        
122     rpc_pipefs=/var/lib/nfs/rpc_pipefs            
123     #                                             
124     die()                                         
125     {                                             
126         echo "Usage: $0 cache_name entry_name"    
127         exit 1                                    
128     }                                             
129                                                   
130     [ $# -lt 2 ] && die                           
131     cachename="$1"                                
132     cache_path=${rpc_pipefs}/cache/${cachename    
133                                                   
134     case "${cachename}" in                        
135         dns_resolve)                              
136             name="$2"                             
137             result="$(${getent} hosts ${name}     
138             [ -z "${result}" ] && result="0"      
139             ;;                                    
140         *)                                        
141             die                                   
142             ;;                                    
143     esac                                          
144     echo "${result} ${name} ${ttl}" >${cache_p    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php