Merge branch 'for-5.12' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[platform/kernel/linux-starfive.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 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
33 config NFS_V2
34         tristate "NFS client support for NFS version 2"
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
43 config 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
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
76         tristate "NFS client support for NFS version 4"
77         depends on NFS_FS
78         select SUNRPC_GSS
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
90 config 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
98 config 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
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
117 config PNFS_FILE_LAYOUT
118         tristate
119         depends on NFS_V4_1
120         default NFS_V4
121
122 config PNFS_BLOCK
123         tristate
124         depends on NFS_V4_1 && BLK_DEV_DM
125         default NFS_V4
126
127 config PNFS_FLEXFILE_LAYOUT
128         tristate
129         depends on NFS_V4_1 && NFS_V3
130         default NFS_V4
131
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
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
155 config NFS_V4_SECURITY_LABEL
156         bool
157         depends on NFS_V4_2 && SECURITY
158         default y
159
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
167           <file:Documentation/admin-guide/nfs/nfsroot.rst>.
168
169           Most people say N here.
170
171 config NFS_FSCACHE
172         bool "Provide NFS client caching support"
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
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
193
194 config NFS_DEBUG
195         bool
196         depends on NFS_FS && SUNRPC_DEBUG
197         select CRC32
198         default y
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.
208
209 config 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 n
213         help
214          This is intended for developers only. The READ_PLUS operation has
215          been shown to have issues under specific conditions and should not
216          be used in production.