1# SPDX-License-Identifier: GPL-2.0-only 2config NFS_FS 3 tristate "NFS client support" 4 depends on INET && FILE_LOCKING && MULTIUSER 5 select LOCKD 6 select SUNRPC 7 select CRYPTO 8 select CRYPTO_HASH 9 select XXHASH 10 select CRYPTO_XXHASH 11 select NFS_ACL_SUPPORT if NFS_V3_ACL 12 help 13 Choose Y here if you want to access files residing on other 14 computers using Sun's Network File System protocol. To compile 15 this file system support as a module, choose M here: the module 16 will be called nfs. 17 18 To mount file systems exported by NFS servers, you also need to 19 install the user space mount.nfs command which can be found in 20 the Linux nfs-utils package, available from http://linux-nfs.org/. 21 Information about using the mount command is available in the 22 mount(8) man page. More detail about the Linux NFS client 23 implementation is available via the nfs(5) man page. 24 25 Below you can choose which versions of the NFS protocol are 26 available in the kernel to mount NFS servers. Support for NFS 27 version 2 (RFC 1094) is always available when NFS_FS is selected. 28 29 To configure a system which mounts its root file system via NFS 30 at boot time, say Y here, select "Kernel level IP 31 autoconfiguration" in the NETWORK menu, and select "Root file 32 system on NFS" below. You cannot compile this file system as a 33 module in this case. 34 35 If unsure, say N. 36 37config NFS_V2 38 tristate "NFS client support for NFS version 2" 39 depends on NFS_FS 40 default y 41 help 42 This option enables support for version 2 of the NFS protocol 43 (RFC 1094) in the kernel's NFS client. 44 45 If unsure, say Y. 46 47config NFS_V3 48 tristate "NFS client support for NFS version 3" 49 depends on NFS_FS 50 default y 51 help 52 This option enables support for version 3 of the NFS protocol 53 (RFC 1813) in the kernel's NFS client. 54 55 If unsure, say Y. 56 57config NFS_V3_ACL 58 bool "NFS client support for the NFSv3 ACL protocol extension" 59 depends on NFS_V3 60 help 61 Some NFS servers support an auxiliary NFSv3 ACL protocol that 62 Sun added to Solaris but never became an official part of the 63 NFS version 3 protocol. This protocol extension allows 64 applications on NFS clients to manipulate POSIX Access Control 65 Lists on files residing on NFS servers. NFS servers enforce 66 ACLs on local files whether this protocol is available or not. 67 68 Choose Y here if your NFS server supports the Solaris NFSv3 ACL 69 protocol extension and you want your NFS client to allow 70 applications to access and modify ACLs on files on the server. 71 72 Most NFS servers don't support the Solaris NFSv3 ACL protocol 73 extension. You can choose N here or specify the "noacl" mount 74 option to prevent your NFS client from trying to use the NFSv3 75 ACL protocol. 76 77 If unsure, say N. 78 79config NFS_V4 80 tristate "NFS client support for NFS version 4" 81 depends on NFS_FS 82 select SUNRPC_GSS 83 select KEYS 84 help 85 This option enables support for version 4 of the NFS protocol 86 (RFC 3530) in the kernel's NFS client. 87 88 To mount NFS servers using NFSv4, you also need to install user 89 space programs which can be found in the Linux nfs-utils package, 90 available from http://linux-nfs.org/. 91 92 If unsure, say Y. 93 94config NFS_SWAP 95 bool "Provide swap over NFS support" 96 default n 97 depends on NFS_FS && SWAP 98 select SUNRPC_SWAP 99 help 100 This option enables swapon to work on files located on NFS mounts. 101 102config NFS_V4_1 103 bool "NFS client support for NFSv4.1" 104 depends on NFS_V4 105 select SUNRPC_BACKCHANNEL 106 help 107 This option enables support for minor version 1 of the NFSv4 protocol 108 (RFC 5661) in the kernel's NFS client. 109 110 If unsure, say N. 111 112config NFS_V4_2 113 bool "NFS client support for NFSv4.2" 114 depends on NFS_V4_1 115 help 116 This option enables support for minor version 2 of the NFSv4 protocol 117 in the kernel's NFS client. 118 119 If unsure, say N. 120 121config PNFS_FILE_LAYOUT 122 tristate 123 depends on NFS_V4_1 124 default NFS_V4 125 126config PNFS_BLOCK 127 tristate 128 depends on NFS_V4_1 && BLK_DEV_DM 129 default NFS_V4 130 131config PNFS_FLEXFILE_LAYOUT 132 tristate 133 depends on NFS_V4_1 && NFS_V3 134 default NFS_V4 135 136config NFS_V4_1_IMPLEMENTATION_ID_DOMAIN 137 string "NFSv4.1 Implementation ID Domain" 138 depends on NFS_V4_1 139 default "kernel.org" 140 help 141 This option defines the domain portion of the implementation ID that 142 may be sent in the NFS exchange_id operation. The value must be in 143 the format of a DNS domain name and should be set to the DNS domain 144 name of the distribution. 145 If the NFS client is unchanged from the upstream kernel, this 146 option should be set to the default "kernel.org". 147 148config NFS_V4_1_MIGRATION 149 bool "NFSv4.1 client support for migration" 150 depends on NFS_V4_1 151 default n 152 help 153 This option makes the NFS client advertise to NFSv4.1 servers that 154 it can support NFSv4 migration. 155 156 The NFSv4.1 pieces of the Linux NFSv4 migration implementation are 157 still experimental. If you are not an NFSv4 developer, say N here. 158 159config NFS_V4_SECURITY_LABEL 160 bool 161 depends on NFS_V4_2 && SECURITY 162 default y 163 164config ROOT_NFS 165 bool "Root file system on NFS" 166 depends on NFS_FS=y && IP_PNP 167 help 168 If you want your system to mount its root file system via NFS, 169 choose Y here. This is common practice for managing systems 170 without local permanent storage. For details, read 171 <file:Documentation/admin-guide/nfs/nfsroot.rst>. 172 173 Most people say N here. 174 175config NFS_FSCACHE 176 bool "Provide NFS client caching support" 177 depends on NFS_FS=m && FSCACHE || NFS_FS=y && FSCACHE=y 178 help 179 Say Y here if you want NFS data to be cached locally on disc through 180 the general filesystem cache manager 181 182config NFS_USE_LEGACY_DNS 183 bool "Use the legacy NFS DNS resolver" 184 depends on NFS_V4 185 help 186 The kernel now provides a method for translating a host name into an 187 IP address. Select Y here if you would rather use your own DNS 188 resolver script. 189 190 If unsure, say N 191 192config NFS_USE_KERNEL_DNS 193 bool 194 depends on NFS_V4 && !NFS_USE_LEGACY_DNS 195 select DNS_RESOLVER 196 default y 197 198config NFS_DEBUG 199 bool 200 depends on NFS_FS && SUNRPC_DEBUG 201 select CRC32 202 default y 203 204config NFS_DISABLE_UDP_SUPPORT 205 bool "NFS: Disable NFS UDP protocol support" 206 depends on NFS_FS 207 default y 208 help 209 Choose Y here to disable the use of NFS over UDP. NFS over UDP 210 on modern networks (1Gb+) can lead to data corruption caused by 211 fragmentation during high loads. 212 213config NFS_V4_2_READ_PLUS 214 bool "NFS: Enable support for the NFSv4.2 READ_PLUS operation" 215 depends on NFS_V4_2 216 default n 217 help 218 This is intended for developers only. The READ_PLUS operation has 219 been shown to have issues under specific conditions and should not 220 be used in production. 221