Merge tag 'drm-misc-next-fixes-2022-04-07' of git://anongit.freedesktop.org/drm/drm...
[linux-2.6-microblaze.git] / fs / nfs / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config 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
37 config 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
47 config 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
57 config 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
79 config 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
94 config 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
102 config 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
112 config 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
121 config PNFS_FILE_LAYOUT
122         tristate
123         depends on NFS_V4_1
124         default NFS_V4
125
126 config PNFS_BLOCK
127         tristate
128         depends on NFS_V4_1 && BLK_DEV_DM
129         default NFS_V4
130
131 config PNFS_FLEXFILE_LAYOUT
132         tristate
133         depends on NFS_V4_1 && NFS_V3
134         default NFS_V4
135
136 config 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
148 config 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
159 config NFS_V4_SECURITY_LABEL
160         bool
161         depends on NFS_V4_2 && SECURITY
162         default y
163
164 config 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
175 config 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
182 config 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
192 config NFS_USE_KERNEL_DNS
193         bool
194         depends on NFS_V4 && !NFS_USE_LEGACY_DNS
195         select DNS_RESOLVER
196         default y
197
198 config NFS_DEBUG
199         bool
200         depends on NFS_FS && SUNRPC_DEBUG
201         select CRC32
202         default y
203
204 config 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
213 config 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.