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