Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Alexey Dobriyan | 97afe47 | 2009-01-22 11:07:41 +0300 | [diff] [blame] | 2 | config NFS_FS |
| 3 | tristate "NFS client support" |
Iulia Manda | 2813893 | 2015-04-15 16:16:41 -0700 | [diff] [blame] | 4 | depends on INET && FILE_LOCKING && MULTIUSER |
Alexey Dobriyan | 97afe47 | 2009-01-22 11:07:41 +0300 | [diff] [blame] | 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 | |
Bryan Schumaker | 2ba6800 | 2012-05-10 16:47:19 -0400 | [diff] [blame] | 33 | config NFS_V2 |
Bryan Schumaker | ddda8e0 | 2012-07-30 16:05:23 -0400 | [diff] [blame] | 34 | tristate "NFS client support for NFS version 2" |
Bryan Schumaker | 2ba6800 | 2012-05-10 16:47:19 -0400 | [diff] [blame] | 35 | depends on NFS_FS |
| 36 | default y |
| 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 Y. |
| 42 | |
Alexey Dobriyan | 97afe47 | 2009-01-22 11:07:41 +0300 | [diff] [blame] | 43 | config NFS_V3 |
Bryan Schumaker | 1c606fb | 2012-07-30 16:05:24 -0400 | [diff] [blame] | 44 | tristate "NFS client support for NFS version 3" |
Alexey Dobriyan | 97afe47 | 2009-01-22 11:07:41 +0300 | [diff] [blame] | 45 | depends on NFS_FS |
Bryan Schumaker | 981f9fa | 2012-05-10 16:47:20 -0400 | [diff] [blame] | 46 | default y |
Alexey Dobriyan | 97afe47 | 2009-01-22 11:07:41 +0300 | [diff] [blame] | 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 | |
| 53 | config 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 | |
| 75 | config NFS_V4 |
Bryan Schumaker | 89d77c8 | 2012-07-30 16:05:25 -0400 | [diff] [blame] | 76 | tristate "NFS client support for NFS version 4" |
Trond Myklebust | b3edc2b | 2010-08-04 14:38:01 -0400 | [diff] [blame] | 77 | depends on NFS_FS |
Trond Myklebust | 827e345 | 2010-09-12 19:57:50 -0400 | [diff] [blame] | 78 | select SUNRPC_GSS |
Trond Myklebust | e3da870 | 2012-02-08 13:21:38 -0500 | [diff] [blame] | 79 | select KEYS |
Alexey Dobriyan | 97afe47 | 2009-01-22 11:07:41 +0300 | [diff] [blame] | 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 | |
Trond Myklebust | b3edc2b | 2010-08-04 14:38:01 -0400 | [diff] [blame] | 88 | If unsure, say Y. |
Alexey Dobriyan | 97afe47 | 2009-01-22 11:07:41 +0300 | [diff] [blame] | 89 | |
Mel Gorman | a564b8f | 2012-07-31 16:45:12 -0700 | [diff] [blame] | 90 | config NFS_SWAP |
| 91 | bool "Provide swap over NFS support" |
| 92 | default n |
Geert Uytterhoeven | 474c4f3 | 2019-12-30 16:32:38 +0100 | [diff] [blame] | 93 | depends on NFS_FS && SWAP |
Mel Gorman | a564b8f | 2012-07-31 16:45:12 -0700 | [diff] [blame] | 94 | select SUNRPC_SWAP |
| 95 | help |
| 96 | This option enables swapon to work on files located on NFS mounts. |
| 97 | |
Ricardo Labiaga | 1efae38 | 2009-04-01 09:21:46 -0400 | [diff] [blame] | 98 | config NFS_V4_1 |
Trond Myklebust | 8544a9d | 2012-10-03 10:54:50 -0700 | [diff] [blame] | 99 | bool "NFS client support for NFSv4.1" |
| 100 | depends on NFS_V4 |
Trond Myklebust | 9e00abc | 2011-07-13 19:20:49 -0400 | [diff] [blame] | 101 | select SUNRPC_BACKCHANNEL |
Ricardo Labiaga | 1efae38 | 2009-04-01 09:21:46 -0400 | [diff] [blame] | 102 | help |
| 103 | This option enables support for minor version 1 of the NFSv4 protocol |
Peng Tao | 54a33b19 | 2011-08-10 18:29:21 -0400 | [diff] [blame] | 104 | (RFC 5661) in the kernel's NFS client. |
Ricardo Labiaga | 1efae38 | 2009-04-01 09:21:46 -0400 | [diff] [blame] | 105 | |
Trond Myklebust | 3dce9a5 | 2010-08-04 14:39:16 -0400 | [diff] [blame] | 106 | If unsure, say N. |
Ricardo Labiaga | 1efae38 | 2009-04-01 09:21:46 -0400 | [diff] [blame] | 107 | |
Steve Dickson | 42c2c42 | 2013-05-22 12:50:38 -0400 | [diff] [blame] | 108 | config 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 | |
Fred Isaman | 02c35fc | 2010-10-20 00:17:59 -0400 | [diff] [blame] | 117 | config PNFS_FILE_LAYOUT |
| 118 | tristate |
Trond Myklebust | e307450 | 2012-05-21 15:30:41 -0400 | [diff] [blame] | 119 | depends on NFS_V4_1 |
Christoph Hellwig | 8c2fabc | 2013-11-13 08:50:33 -0800 | [diff] [blame] | 120 | default NFS_V4 |
Fred Isaman | 02c35fc | 2010-10-20 00:17:59 -0400 | [diff] [blame] | 121 | |
Fred Isaman | 155e752 | 2011-07-30 20:52:39 -0400 | [diff] [blame] | 122 | config PNFS_BLOCK |
Boaz Harrosh | 8cf1fb216 | 2011-08-11 14:29:25 -0700 | [diff] [blame] | 123 | tristate |
Trond Myklebust | e307450 | 2012-05-21 15:30:41 -0400 | [diff] [blame] | 124 | depends on NFS_V4_1 && BLK_DEV_DM |
Christoph Hellwig | 8c2fabc | 2013-11-13 08:50:33 -0800 | [diff] [blame] | 125 | default NFS_V4 |
Fred Isaman | 155e752 | 2011-07-30 20:52:39 -0400 | [diff] [blame] | 126 | |
Tom Haynes | d67ae82 | 2014-12-11 17:02:04 -0500 | [diff] [blame] | 127 | config PNFS_FLEXFILE_LAYOUT |
| 128 | tristate |
| 129 | depends on NFS_V4_1 && NFS_V3 |
| 130 | default m |
| 131 | |
Weston Andros Adamson | db8ac8b | 2012-02-17 15:20:24 -0500 | [diff] [blame] | 132 | config 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 | |
Chuck Lever | cd3fade | 2013-10-17 14:14:04 -0400 | [diff] [blame] | 144 | config 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 | |
Steve Dickson | f58eda9 | 2013-05-22 12:50:46 -0400 | [diff] [blame] | 155 | config NFS_V4_SECURITY_LABEL |
| 156 | bool |
| 157 | depends on NFS_V4_2 && SECURITY |
| 158 | default y |
| 159 | |
Alexey Dobriyan | 97afe47 | 2009-01-22 11:07:41 +0300 | [diff] [blame] | 160 | config 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 |
Niklas Söderlund | 3eb30c5 | 2020-02-12 19:13:32 +0100 | [diff] [blame] | 167 | <file:Documentation/admin-guide/nfs/nfsroot.rst>. |
Alexey Dobriyan | 97afe47 | 2009-01-22 11:07:41 +0300 | [diff] [blame] | 168 | |
| 169 | Most people say N here. |
David Howells | 3b9ce97 | 2009-04-03 16:42:42 +0100 | [diff] [blame] | 170 | |
| 171 | config NFS_FSCACHE |
Christian Kujau | 4912002 | 2010-02-26 17:25:14 +0000 | [diff] [blame] | 172 | bool "Provide NFS client caching support" |
David Howells | 3b9ce97 | 2009-04-03 16:42:42 +0100 | [diff] [blame] | 173 | depends on NFS_FS=m && FSCACHE || NFS_FS=y && FSCACHE=y |
| 174 | help |
| 175 | Say Y here if you want NFS data to be cached locally on disc through |
| 176 | the general filesystem cache manager |
Bryan Schumaker | c2e8139 | 2010-08-11 09:37:53 +0100 | [diff] [blame] | 177 | |
| 178 | config 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 | |
| 188 | config NFS_USE_KERNEL_DNS |
| 189 | bool |
| 190 | depends on NFS_V4 && !NFS_USE_LEGACY_DNS |
| 191 | select DNS_RESOLVER |
| 192 | default y |
Trond Myklebust | e27d359 | 2012-03-18 14:07:42 -0400 | [diff] [blame] | 193 | |
| 194 | config NFS_DEBUG |
| 195 | bool |
| 196 | depends on NFS_FS && SUNRPC_DEBUG |
| 197 | select CRC32 |
| 198 | default y |
Olga Kornievskaia | b24ee6c | 2019-12-16 16:34:02 -0500 | [diff] [blame] | 199 | |
| 200 | config 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. |