xref: /linux/fs/nfs/Kconfig (revision 1ca0f935a126950c2f0b305a50f31f3b00542b0d)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
297afe47aSAlexey Dobriyanconfig NFS_FS
397afe47aSAlexey Dobriyan	tristate "NFS client support"
42813893fSIulia Manda	depends on INET && FILE_LOCKING && MULTIUSER
5*cd35b6cbSEric Biggers	select CRC32
697afe47aSAlexey Dobriyan	select LOCKD
797afe47aSAlexey Dobriyan	select SUNRPC
84806ded4SMike Snitzer	select NFS_COMMON
997afe47aSAlexey Dobriyan	select NFS_ACL_SUPPORT if NFS_V3_ACL
1097afe47aSAlexey Dobriyan	help
1197afe47aSAlexey Dobriyan	  Choose Y here if you want to access files residing on other
1297afe47aSAlexey Dobriyan	  computers using Sun's Network File System protocol.  To compile
1397afe47aSAlexey Dobriyan	  this file system support as a module, choose M here: the module
1497afe47aSAlexey Dobriyan	  will be called nfs.
1597afe47aSAlexey Dobriyan
1697afe47aSAlexey Dobriyan	  To mount file systems exported by NFS servers, you also need to
1797afe47aSAlexey Dobriyan	  install the user space mount.nfs command which can be found in
1897afe47aSAlexey Dobriyan	  the Linux nfs-utils package, available from http://linux-nfs.org/.
1997afe47aSAlexey Dobriyan	  Information about using the mount command is available in the
2097afe47aSAlexey Dobriyan	  mount(8) man page.  More detail about the Linux NFS client
2197afe47aSAlexey Dobriyan	  implementation is available via the nfs(5) man page.
2297afe47aSAlexey Dobriyan
2397afe47aSAlexey Dobriyan	  Below you can choose which versions of the NFS protocol are
2497afe47aSAlexey Dobriyan	  available in the kernel to mount NFS servers.  Support for NFS
2597afe47aSAlexey Dobriyan	  version 2 (RFC 1094) is always available when NFS_FS is selected.
2697afe47aSAlexey Dobriyan
2797afe47aSAlexey Dobriyan	  To configure a system which mounts its root file system via NFS
2897afe47aSAlexey Dobriyan	  at boot time, say Y here, select "Kernel level IP
2997afe47aSAlexey Dobriyan	  autoconfiguration" in the NETWORK menu, and select "Root file
3097afe47aSAlexey Dobriyan	  system on NFS" below.  You cannot compile this file system as a
3197afe47aSAlexey Dobriyan	  module in this case.
3297afe47aSAlexey Dobriyan
3397afe47aSAlexey Dobriyan	  If unsure, say N.
3497afe47aSAlexey Dobriyan
352ba68002SBryan Schumakerconfig NFS_V2
36ddda8e0aSBryan Schumaker	tristate "NFS client support for NFS version 2"
372ba68002SBryan Schumaker	depends on NFS_FS
38d1404e46SAnna Schumaker	default n
392ba68002SBryan Schumaker	help
402ba68002SBryan Schumaker	  This option enables support for version 2 of the NFS protocol
412ba68002SBryan Schumaker	  (RFC 1094) in the kernel's NFS client.
422ba68002SBryan Schumaker
43d1404e46SAnna Schumaker	  If unsure, say N.
442ba68002SBryan Schumaker
4597afe47aSAlexey Dobriyanconfig NFS_V3
461c606fb7SBryan Schumaker	tristate "NFS client support for NFS version 3"
4797afe47aSAlexey Dobriyan	depends on NFS_FS
48981f9facSBryan Schumaker	default y
4997afe47aSAlexey Dobriyan	help
5097afe47aSAlexey Dobriyan	  This option enables support for version 3 of the NFS protocol
5197afe47aSAlexey Dobriyan	  (RFC 1813) in the kernel's NFS client.
5297afe47aSAlexey Dobriyan
5397afe47aSAlexey Dobriyan	  If unsure, say Y.
5497afe47aSAlexey Dobriyan
5597afe47aSAlexey Dobriyanconfig NFS_V3_ACL
5697afe47aSAlexey Dobriyan	bool "NFS client support for the NFSv3 ACL protocol extension"
5797afe47aSAlexey Dobriyan	depends on NFS_V3
5897afe47aSAlexey Dobriyan	help
5997afe47aSAlexey Dobriyan	  Some NFS servers support an auxiliary NFSv3 ACL protocol that
6097afe47aSAlexey Dobriyan	  Sun added to Solaris but never became an official part of the
6197afe47aSAlexey Dobriyan	  NFS version 3 protocol.  This protocol extension allows
6297afe47aSAlexey Dobriyan	  applications on NFS clients to manipulate POSIX Access Control
6397afe47aSAlexey Dobriyan	  Lists on files residing on NFS servers.  NFS servers enforce
6497afe47aSAlexey Dobriyan	  ACLs on local files whether this protocol is available or not.
6597afe47aSAlexey Dobriyan
6697afe47aSAlexey Dobriyan	  Choose Y here if your NFS server supports the Solaris NFSv3 ACL
6797afe47aSAlexey Dobriyan	  protocol extension and you want your NFS client to allow
6897afe47aSAlexey Dobriyan	  applications to access and modify ACLs on files on the server.
6997afe47aSAlexey Dobriyan
7097afe47aSAlexey Dobriyan	  Most NFS servers don't support the Solaris NFSv3 ACL protocol
7197afe47aSAlexey Dobriyan	  extension.  You can choose N here or specify the "noacl" mount
7297afe47aSAlexey Dobriyan	  option to prevent your NFS client from trying to use the NFSv3
7397afe47aSAlexey Dobriyan	  ACL protocol.
7497afe47aSAlexey Dobriyan
7597afe47aSAlexey Dobriyan	  If unsure, say N.
7697afe47aSAlexey Dobriyan
7797afe47aSAlexey Dobriyanconfig NFS_V4
7889d77c8fSBryan Schumaker	tristate "NFS client support for NFS version 4"
79b3edc2bcSTrond Myklebust	depends on NFS_FS
80e3da8706STrond Myklebust	select KEYS
8197afe47aSAlexey Dobriyan	help
8297afe47aSAlexey Dobriyan	  This option enables support for version 4 of the NFS protocol
8397afe47aSAlexey Dobriyan	  (RFC 3530) in the kernel's NFS client.
8497afe47aSAlexey Dobriyan
8597afe47aSAlexey Dobriyan	  To mount NFS servers using NFSv4, you also need to install user
8697afe47aSAlexey Dobriyan	  space programs which can be found in the Linux nfs-utils package,
8797afe47aSAlexey Dobriyan	  available from http://linux-nfs.org/.
8897afe47aSAlexey Dobriyan
89b3edc2bcSTrond Myklebust	  If unsure, say Y.
9097afe47aSAlexey Dobriyan
91a564b8f0SMel Gormanconfig NFS_SWAP
92a564b8f0SMel Gorman	bool "Provide swap over NFS support"
93a564b8f0SMel Gorman	default n
94474c4f30SGeert Uytterhoeven	depends on NFS_FS && SWAP
95a564b8f0SMel Gorman	select SUNRPC_SWAP
96a564b8f0SMel Gorman	help
97a564b8f0SMel Gorman	  This option enables swapon to work on files located on NFS mounts.
98a564b8f0SMel Gorman
991efae381SRicardo Labiagaconfig NFS_V4_1
1008544a9dcSTrond Myklebust	bool "NFS client support for NFSv4.1"
1018544a9dcSTrond Myklebust	depends on NFS_V4
1029e00abc3STrond Myklebust	select SUNRPC_BACKCHANNEL
1031efae381SRicardo Labiaga	help
1041efae381SRicardo Labiaga	  This option enables support for minor version 1 of the NFSv4 protocol
10554a33b19SPeng Tao	  (RFC 5661) in the kernel's NFS client.
1061efae381SRicardo Labiaga
1073dce9a5cSTrond Myklebust	  If unsure, say N.
1081efae381SRicardo Labiaga
10942c2c424SSteve Dicksonconfig NFS_V4_2
11042c2c424SSteve Dickson	bool "NFS client support for NFSv4.2"
11142c2c424SSteve Dickson	depends on NFS_V4_1
11242c2c424SSteve Dickson	help
11342c2c424SSteve Dickson	  This option enables support for minor version 2 of the NFSv4 protocol
11442c2c424SSteve Dickson	  in the kernel's NFS client.
11542c2c424SSteve Dickson
11642c2c424SSteve Dickson	  If unsure, say N.
11742c2c424SSteve Dickson
11802c35fcaSFred Isamanconfig PNFS_FILE_LAYOUT
11902c35fcaSFred Isaman	tristate
120e3074507STrond Myklebust	depends on NFS_V4_1
1218c2fabc6SChristoph Hellwig	default NFS_V4
12202c35fcaSFred Isaman
123155e7524SFred Isamanconfig PNFS_BLOCK
1248cf1fb21SBoaz Harrosh	tristate
125e3074507STrond Myklebust	depends on NFS_V4_1 && BLK_DEV_DM
1268c2fabc6SChristoph Hellwig	default NFS_V4
127155e7524SFred Isaman
128d67ae825STom Haynesconfig PNFS_FLEXFILE_LAYOUT
129d67ae825STom Haynes	tristate
130a68c6fbbSMkrtchyan, Tigran	depends on NFS_V4_1
131a0590473STimo Rothenpieler	default NFS_V4
132d67ae825STom Haynes
133db8ac8baSWeston Andros Adamsonconfig NFS_V4_1_IMPLEMENTATION_ID_DOMAIN
134db8ac8baSWeston Andros Adamson	string "NFSv4.1 Implementation ID Domain"
135db8ac8baSWeston Andros Adamson	depends on NFS_V4_1
136db8ac8baSWeston Andros Adamson	default "kernel.org"
137db8ac8baSWeston Andros Adamson	help
138db8ac8baSWeston Andros Adamson	  This option defines the domain portion of the implementation ID that
139db8ac8baSWeston Andros Adamson	  may be sent in the NFS exchange_id operation.  The value must be in
140db8ac8baSWeston Andros Adamson	  the format of a DNS domain name and should be set to the DNS domain
141db8ac8baSWeston Andros Adamson	  name of the distribution.
142db8ac8baSWeston Andros Adamson	  If the NFS client is unchanged from the upstream kernel, this
143db8ac8baSWeston Andros Adamson	  option should be set to the default "kernel.org".
144db8ac8baSWeston Andros Adamson
145cd3fadecSChuck Leverconfig NFS_V4_1_MIGRATION
146cd3fadecSChuck Lever	bool "NFSv4.1 client support for migration"
147cd3fadecSChuck Lever	depends on NFS_V4_1
148cd3fadecSChuck Lever	default n
149cd3fadecSChuck Lever	help
150cd3fadecSChuck Lever	  This option makes the NFS client advertise to NFSv4.1 servers that
151cd3fadecSChuck Lever          it can support NFSv4 migration.
152cd3fadecSChuck Lever
153cd3fadecSChuck Lever          The NFSv4.1 pieces of the Linux NFSv4 migration implementation are
154cd3fadecSChuck Lever          still experimental.  If you are not an NFSv4 developer, say N here.
155cd3fadecSChuck Lever
156f58eda9bSSteve Dicksonconfig NFS_V4_SECURITY_LABEL
157f58eda9bSSteve Dickson	bool
158f58eda9bSSteve Dickson	depends on NFS_V4_2 && SECURITY
159f58eda9bSSteve Dickson	default y
160f58eda9bSSteve Dickson
16197afe47aSAlexey Dobriyanconfig ROOT_NFS
16297afe47aSAlexey Dobriyan	bool "Root file system on NFS"
16397afe47aSAlexey Dobriyan	depends on NFS_FS=y && IP_PNP
16497afe47aSAlexey Dobriyan	help
16597afe47aSAlexey Dobriyan	  If you want your system to mount its root file system via NFS,
16697afe47aSAlexey Dobriyan	  choose Y here.  This is common practice for managing systems
16797afe47aSAlexey Dobriyan	  without local permanent storage.  For details, read
1683eb30c51SNiklas Söderlund	  <file:Documentation/admin-guide/nfs/nfsroot.rst>.
16997afe47aSAlexey Dobriyan
17097afe47aSAlexey Dobriyan	  Most people say N here.
1713b9ce977SDavid Howells
1723b9ce977SDavid Howellsconfig NFS_FSCACHE
1734912002fSChristian Kujau	bool "Provide NFS client caching support"
17490190ba1SDragan Simic	depends on NFS_FS
17590190ba1SDragan Simic	select NETFS_SUPPORT
176915cd30cSDavid Howells	select FSCACHE
1773b9ce977SDavid Howells	help
1783b9ce977SDavid Howells	  Say Y here if you want NFS data to be cached locally on disc through
1793b9ce977SDavid Howells	  the general filesystem cache manager
180c2e8139cSBryan Schumaker
181c2e8139cSBryan Schumakerconfig NFS_USE_LEGACY_DNS
182c2e8139cSBryan Schumaker	bool "Use the legacy NFS DNS resolver"
183c2e8139cSBryan Schumaker	depends on NFS_V4
184c2e8139cSBryan Schumaker	help
185c2e8139cSBryan Schumaker	  The kernel now provides a method for translating a host name into an
186c2e8139cSBryan Schumaker	  IP address.  Select Y here if you would rather use your own DNS
187c2e8139cSBryan Schumaker	  resolver script.
188c2e8139cSBryan Schumaker
189c2e8139cSBryan Schumaker	  If unsure, say N
190c2e8139cSBryan Schumaker
191c2e8139cSBryan Schumakerconfig NFS_USE_KERNEL_DNS
192c2e8139cSBryan Schumaker	bool
193c2e8139cSBryan Schumaker	depends on NFS_V4 && !NFS_USE_LEGACY_DNS
194c2e8139cSBryan Schumaker	select DNS_RESOLVER
195c2e8139cSBryan Schumaker	default y
196e27d359eSTrond Myklebust
197e27d359eSTrond Myklebustconfig NFS_DEBUG
198e27d359eSTrond Myklebust	bool
199e27d359eSTrond Myklebust	depends on NFS_FS && SUNRPC_DEBUG
200e27d359eSTrond Myklebust	default y
201b24ee6c6SOlga Kornievskaia
202b24ee6c6SOlga Kornievskaiaconfig NFS_DISABLE_UDP_SUPPORT
203b24ee6c6SOlga Kornievskaia       bool "NFS: Disable NFS UDP protocol support"
204b24ee6c6SOlga Kornievskaia       depends on NFS_FS
205b24ee6c6SOlga Kornievskaia       default y
206b24ee6c6SOlga Kornievskaia       help
207b24ee6c6SOlga Kornievskaia	 Choose Y here to disable the use of NFS over UDP. NFS over UDP
208b24ee6c6SOlga Kornievskaia	 on modern networks (1Gb+) can lead to data corruption caused by
209b24ee6c6SOlga Kornievskaia	 fragmentation during high loads.
21021e31401SAnna Schumaker
21121e31401SAnna Schumakerconfig NFS_V4_2_READ_PLUS
21221e31401SAnna Schumaker	bool "NFS: Enable support for the NFSv4.2 READ_PLUS operation"
21321e31401SAnna Schumaker	depends on NFS_V4_2
2149cf2744dSAnna Schumaker	default y
21521e31401SAnna Schumaker	help
2169cf2744dSAnna Schumaker	 Choose Y here to enable use of the NFS v4.2 READ_PLUS operation.
217