xref: /openbmc/linux/fs/nfs/Kconfig (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
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
597afe47aSAlexey Dobriyan	select LOCKD
697afe47aSAlexey Dobriyan	select SUNRPC
797afe47aSAlexey Dobriyan	select NFS_ACL_SUPPORT if NFS_V3_ACL
897afe47aSAlexey Dobriyan	help
997afe47aSAlexey Dobriyan	  Choose Y here if you want to access files residing on other
1097afe47aSAlexey Dobriyan	  computers using Sun's Network File System protocol.  To compile
1197afe47aSAlexey Dobriyan	  this file system support as a module, choose M here: the module
1297afe47aSAlexey Dobriyan	  will be called nfs.
1397afe47aSAlexey Dobriyan
1497afe47aSAlexey Dobriyan	  To mount file systems exported by NFS servers, you also need to
1597afe47aSAlexey Dobriyan	  install the user space mount.nfs command which can be found in
1697afe47aSAlexey Dobriyan	  the Linux nfs-utils package, available from http://linux-nfs.org/.
1797afe47aSAlexey Dobriyan	  Information about using the mount command is available in the
1897afe47aSAlexey Dobriyan	  mount(8) man page.  More detail about the Linux NFS client
1997afe47aSAlexey Dobriyan	  implementation is available via the nfs(5) man page.
2097afe47aSAlexey Dobriyan
2197afe47aSAlexey Dobriyan	  Below you can choose which versions of the NFS protocol are
2297afe47aSAlexey Dobriyan	  available in the kernel to mount NFS servers.  Support for NFS
2397afe47aSAlexey Dobriyan	  version 2 (RFC 1094) is always available when NFS_FS is selected.
2497afe47aSAlexey Dobriyan
2597afe47aSAlexey Dobriyan	  To configure a system which mounts its root file system via NFS
2697afe47aSAlexey Dobriyan	  at boot time, say Y here, select "Kernel level IP
2797afe47aSAlexey Dobriyan	  autoconfiguration" in the NETWORK menu, and select "Root file
2897afe47aSAlexey Dobriyan	  system on NFS" below.  You cannot compile this file system as a
2997afe47aSAlexey Dobriyan	  module in this case.
3097afe47aSAlexey Dobriyan
3197afe47aSAlexey Dobriyan	  If unsure, say N.
3297afe47aSAlexey Dobriyan
332ba68002SBryan Schumakerconfig NFS_V2
34ddda8e0aSBryan Schumaker	tristate "NFS client support for NFS version 2"
352ba68002SBryan Schumaker	depends on NFS_FS
362ba68002SBryan Schumaker	default y
372ba68002SBryan Schumaker	help
382ba68002SBryan Schumaker	  This option enables support for version 2 of the NFS protocol
392ba68002SBryan Schumaker	  (RFC 1094) in the kernel's NFS client.
402ba68002SBryan Schumaker
412ba68002SBryan Schumaker	  If unsure, say Y.
422ba68002SBryan Schumaker
4397afe47aSAlexey Dobriyanconfig NFS_V3
441c606fb7SBryan Schumaker	tristate "NFS client support for NFS version 3"
4597afe47aSAlexey Dobriyan	depends on NFS_FS
46981f9facSBryan Schumaker	default y
4797afe47aSAlexey Dobriyan	help
4897afe47aSAlexey Dobriyan	  This option enables support for version 3 of the NFS protocol
4997afe47aSAlexey Dobriyan	  (RFC 1813) in the kernel's NFS client.
5097afe47aSAlexey Dobriyan
5197afe47aSAlexey Dobriyan	  If unsure, say Y.
5297afe47aSAlexey Dobriyan
5397afe47aSAlexey Dobriyanconfig NFS_V3_ACL
5497afe47aSAlexey Dobriyan	bool "NFS client support for the NFSv3 ACL protocol extension"
5597afe47aSAlexey Dobriyan	depends on NFS_V3
5697afe47aSAlexey Dobriyan	help
5797afe47aSAlexey Dobriyan	  Some NFS servers support an auxiliary NFSv3 ACL protocol that
5897afe47aSAlexey Dobriyan	  Sun added to Solaris but never became an official part of the
5997afe47aSAlexey Dobriyan	  NFS version 3 protocol.  This protocol extension allows
6097afe47aSAlexey Dobriyan	  applications on NFS clients to manipulate POSIX Access Control
6197afe47aSAlexey Dobriyan	  Lists on files residing on NFS servers.  NFS servers enforce
6297afe47aSAlexey Dobriyan	  ACLs on local files whether this protocol is available or not.
6397afe47aSAlexey Dobriyan
6497afe47aSAlexey Dobriyan	  Choose Y here if your NFS server supports the Solaris NFSv3 ACL
6597afe47aSAlexey Dobriyan	  protocol extension and you want your NFS client to allow
6697afe47aSAlexey Dobriyan	  applications to access and modify ACLs on files on the server.
6797afe47aSAlexey Dobriyan
6897afe47aSAlexey Dobriyan	  Most NFS servers don't support the Solaris NFSv3 ACL protocol
6997afe47aSAlexey Dobriyan	  extension.  You can choose N here or specify the "noacl" mount
7097afe47aSAlexey Dobriyan	  option to prevent your NFS client from trying to use the NFSv3
7197afe47aSAlexey Dobriyan	  ACL protocol.
7297afe47aSAlexey Dobriyan
7397afe47aSAlexey Dobriyan	  If unsure, say N.
7497afe47aSAlexey Dobriyan
7597afe47aSAlexey Dobriyanconfig NFS_V4
7689d77c8fSBryan Schumaker	tristate "NFS client support for NFS version 4"
77b3edc2bcSTrond Myklebust	depends on NFS_FS
78e3da8706STrond Myklebust	select KEYS
7997afe47aSAlexey Dobriyan	help
8097afe47aSAlexey Dobriyan	  This option enables support for version 4 of the NFS protocol
8197afe47aSAlexey Dobriyan	  (RFC 3530) in the kernel's NFS client.
8297afe47aSAlexey Dobriyan
8397afe47aSAlexey Dobriyan	  To mount NFS servers using NFSv4, you also need to install user
8497afe47aSAlexey Dobriyan	  space programs which can be found in the Linux nfs-utils package,
8597afe47aSAlexey Dobriyan	  available from http://linux-nfs.org/.
8697afe47aSAlexey Dobriyan
87b3edc2bcSTrond Myklebust	  If unsure, say Y.
8897afe47aSAlexey Dobriyan
89a564b8f0SMel Gormanconfig NFS_SWAP
90a564b8f0SMel Gorman	bool "Provide swap over NFS support"
91a564b8f0SMel Gorman	default n
92474c4f30SGeert Uytterhoeven	depends on NFS_FS && SWAP
93a564b8f0SMel Gorman	select SUNRPC_SWAP
94a564b8f0SMel Gorman	help
95a564b8f0SMel Gorman	  This option enables swapon to work on files located on NFS mounts.
96a564b8f0SMel Gorman
971efae381SRicardo Labiagaconfig NFS_V4_1
988544a9dcSTrond Myklebust	bool "NFS client support for NFSv4.1"
998544a9dcSTrond Myklebust	depends on NFS_V4
1009e00abc3STrond Myklebust	select SUNRPC_BACKCHANNEL
1011efae381SRicardo Labiaga	help
1021efae381SRicardo Labiaga	  This option enables support for minor version 1 of the NFSv4 protocol
10354a33b19SPeng Tao	  (RFC 5661) in the kernel's NFS client.
1041efae381SRicardo Labiaga
1053dce9a5cSTrond Myklebust	  If unsure, say N.
1061efae381SRicardo Labiaga
10742c2c424SSteve Dicksonconfig NFS_V4_2
10842c2c424SSteve Dickson	bool "NFS client support for NFSv4.2"
10942c2c424SSteve Dickson	depends on NFS_V4_1
11042c2c424SSteve Dickson	help
11142c2c424SSteve Dickson	  This option enables support for minor version 2 of the NFSv4 protocol
11242c2c424SSteve Dickson	  in the kernel's NFS client.
11342c2c424SSteve Dickson
11442c2c424SSteve Dickson	  If unsure, say N.
11542c2c424SSteve Dickson
11602c35fcaSFred Isamanconfig PNFS_FILE_LAYOUT
11702c35fcaSFred Isaman	tristate
118e3074507STrond Myklebust	depends on NFS_V4_1
1198c2fabc6SChristoph Hellwig	default NFS_V4
12002c35fcaSFred Isaman
121155e7524SFred Isamanconfig PNFS_BLOCK
1228cf1fb21SBoaz Harrosh	tristate
123e3074507STrond Myklebust	depends on NFS_V4_1 && BLK_DEV_DM
1248c2fabc6SChristoph Hellwig	default NFS_V4
125155e7524SFred Isaman
126d67ae825STom Haynesconfig PNFS_FLEXFILE_LAYOUT
127d67ae825STom Haynes	tristate
128d67ae825STom Haynes	depends on NFS_V4_1 && NFS_V3
129a0590473STimo Rothenpieler	default NFS_V4
130d67ae825STom Haynes
131db8ac8baSWeston Andros Adamsonconfig NFS_V4_1_IMPLEMENTATION_ID_DOMAIN
132db8ac8baSWeston Andros Adamson	string "NFSv4.1 Implementation ID Domain"
133db8ac8baSWeston Andros Adamson	depends on NFS_V4_1
134db8ac8baSWeston Andros Adamson	default "kernel.org"
135db8ac8baSWeston Andros Adamson	help
136db8ac8baSWeston Andros Adamson	  This option defines the domain portion of the implementation ID that
137db8ac8baSWeston Andros Adamson	  may be sent in the NFS exchange_id operation.  The value must be in
138db8ac8baSWeston Andros Adamson	  the format of a DNS domain name and should be set to the DNS domain
139db8ac8baSWeston Andros Adamson	  name of the distribution.
140db8ac8baSWeston Andros Adamson	  If the NFS client is unchanged from the upstream kernel, this
141db8ac8baSWeston Andros Adamson	  option should be set to the default "kernel.org".
142db8ac8baSWeston Andros Adamson
143cd3fadecSChuck Leverconfig NFS_V4_1_MIGRATION
144cd3fadecSChuck Lever	bool "NFSv4.1 client support for migration"
145cd3fadecSChuck Lever	depends on NFS_V4_1
146cd3fadecSChuck Lever	default n
147cd3fadecSChuck Lever	help
148cd3fadecSChuck Lever	  This option makes the NFS client advertise to NFSv4.1 servers that
149cd3fadecSChuck Lever          it can support NFSv4 migration.
150cd3fadecSChuck Lever
151cd3fadecSChuck Lever          The NFSv4.1 pieces of the Linux NFSv4 migration implementation are
152cd3fadecSChuck Lever          still experimental.  If you are not an NFSv4 developer, say N here.
153cd3fadecSChuck Lever
154f58eda9bSSteve Dicksonconfig NFS_V4_SECURITY_LABEL
155f58eda9bSSteve Dickson	bool
156f58eda9bSSteve Dickson	depends on NFS_V4_2 && SECURITY
157f58eda9bSSteve Dickson	default y
158f58eda9bSSteve Dickson
15997afe47aSAlexey Dobriyanconfig ROOT_NFS
16097afe47aSAlexey Dobriyan	bool "Root file system on NFS"
16197afe47aSAlexey Dobriyan	depends on NFS_FS=y && IP_PNP
16297afe47aSAlexey Dobriyan	help
16397afe47aSAlexey Dobriyan	  If you want your system to mount its root file system via NFS,
16497afe47aSAlexey Dobriyan	  choose Y here.  This is common practice for managing systems
16597afe47aSAlexey Dobriyan	  without local permanent storage.  For details, read
1663eb30c51SNiklas Söderlund	  <file:Documentation/admin-guide/nfs/nfsroot.rst>.
16797afe47aSAlexey Dobriyan
16897afe47aSAlexey Dobriyan	  Most people say N here.
1693b9ce977SDavid Howells
1703b9ce977SDavid Howellsconfig NFS_FSCACHE
1714912002fSChristian Kujau	bool "Provide NFS client caching support"
1723b9ce977SDavid Howells	depends on NFS_FS=m && FSCACHE || NFS_FS=y && FSCACHE=y
17388a4d7bdSDave Wysochanski	select NETFS_SUPPORT
1743b9ce977SDavid Howells	help
1753b9ce977SDavid Howells	  Say Y here if you want NFS data to be cached locally on disc through
1763b9ce977SDavid Howells	  the general filesystem cache manager
177c2e8139cSBryan Schumaker
178c2e8139cSBryan Schumakerconfig NFS_USE_LEGACY_DNS
179c2e8139cSBryan Schumaker	bool "Use the legacy NFS DNS resolver"
180c2e8139cSBryan Schumaker	depends on NFS_V4
181c2e8139cSBryan Schumaker	help
182c2e8139cSBryan Schumaker	  The kernel now provides a method for translating a host name into an
183c2e8139cSBryan Schumaker	  IP address.  Select Y here if you would rather use your own DNS
184c2e8139cSBryan Schumaker	  resolver script.
185c2e8139cSBryan Schumaker
186c2e8139cSBryan Schumaker	  If unsure, say N
187c2e8139cSBryan Schumaker
188c2e8139cSBryan Schumakerconfig NFS_USE_KERNEL_DNS
189c2e8139cSBryan Schumaker	bool
190c2e8139cSBryan Schumaker	depends on NFS_V4 && !NFS_USE_LEGACY_DNS
191c2e8139cSBryan Schumaker	select DNS_RESOLVER
192c2e8139cSBryan Schumaker	default y
193e27d359eSTrond Myklebust
194e27d359eSTrond Myklebustconfig NFS_DEBUG
195e27d359eSTrond Myklebust	bool
196e27d359eSTrond Myklebust	depends on NFS_FS && SUNRPC_DEBUG
197e27d359eSTrond Myklebust	select CRC32
198e27d359eSTrond Myklebust	default y
199b24ee6c6SOlga Kornievskaia
200b24ee6c6SOlga Kornievskaiaconfig NFS_DISABLE_UDP_SUPPORT
201b24ee6c6SOlga Kornievskaia       bool "NFS: Disable NFS UDP protocol support"
202b24ee6c6SOlga Kornievskaia       depends on NFS_FS
203b24ee6c6SOlga Kornievskaia       default y
204b24ee6c6SOlga Kornievskaia       help
205b24ee6c6SOlga Kornievskaia	 Choose Y here to disable the use of NFS over UDP. NFS over UDP
206b24ee6c6SOlga Kornievskaia	 on modern networks (1Gb+) can lead to data corruption caused by
207b24ee6c6SOlga Kornievskaia	 fragmentation during high loads.
20821e31401SAnna Schumaker
20921e31401SAnna Schumakerconfig NFS_V4_2_READ_PLUS
21021e31401SAnna Schumaker	bool "NFS: Enable support for the NFSv4.2 READ_PLUS operation"
21121e31401SAnna Schumaker	depends on NFS_V4_2
212*9cf2744dSAnna Schumaker	default y
21321e31401SAnna Schumaker	help
214*9cf2744dSAnna Schumaker	 Choose Y here to enable use of the NFS v4.2 READ_PLUS operation.
215