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