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