^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) config NFS_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) tristate "NFS client support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) depends on INET && FILE_LOCKING && MULTIUSER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) select LOCKD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) select SUNRPC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) select NFS_ACL_SUPPORT if NFS_V3_ACL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Choose Y here if you want to access files residing on other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) computers using Sun's Network File System protocol. To compile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) this file system support as a module, choose M here: the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) will be called nfs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) To mount file systems exported by NFS servers, you also need to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) install the user space mount.nfs command which can be found in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) the Linux nfs-utils package, available from http://linux-nfs.org/.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Information about using the mount command is available in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) mount(8) man page. More detail about the Linux NFS client
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) implementation is available via the nfs(5) man page.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) Below you can choose which versions of the NFS protocol are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) available in the kernel to mount NFS servers. Support for NFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) version 2 (RFC 1094) is always available when NFS_FS is selected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) To configure a system which mounts its root file system via NFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) at boot time, say Y here, select "Kernel level IP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) autoconfiguration" in the NETWORK menu, and select "Root file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) system on NFS" below. You cannot compile this file system as a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) module in this case.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) config NFS_V2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) tristate "NFS client support for NFS version 2"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) depends on NFS_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) This option enables support for version 2 of the NFS protocol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) (RFC 1094) in the kernel's NFS client.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) config NFS_V3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) tristate "NFS client support for NFS version 3"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) depends on NFS_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) This option enables support for version 3 of the NFS protocol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) (RFC 1813) in the kernel's NFS client.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) config NFS_V3_ACL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) bool "NFS client support for the NFSv3 ACL protocol extension"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) depends on NFS_V3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) Some NFS servers support an auxiliary NFSv3 ACL protocol that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) Sun added to Solaris but never became an official part of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) NFS version 3 protocol. This protocol extension allows
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) applications on NFS clients to manipulate POSIX Access Control
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) Lists on files residing on NFS servers. NFS servers enforce
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) ACLs on local files whether this protocol is available or not.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) Choose Y here if your NFS server supports the Solaris NFSv3 ACL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) protocol extension and you want your NFS client to allow
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) applications to access and modify ACLs on files on the server.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) Most NFS servers don't support the Solaris NFSv3 ACL protocol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) extension. You can choose N here or specify the "noacl" mount
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) option to prevent your NFS client from trying to use the NFSv3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) ACL protocol.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) config NFS_V4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) tristate "NFS client support for NFS version 4"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) depends on NFS_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) select SUNRPC_GSS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) select KEYS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) This option enables support for version 4 of the NFS protocol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) (RFC 3530) in the kernel's NFS client.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) To mount NFS servers using NFSv4, you also need to install user
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) space programs which can be found in the Linux nfs-utils package,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) available from http://linux-nfs.org/.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) If unsure, say Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) config NFS_SWAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) bool "Provide swap over NFS support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) depends on NFS_FS && SWAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) select SUNRPC_SWAP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) This option enables swapon to work on files located on NFS mounts.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) config NFS_V4_1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) bool "NFS client support for NFSv4.1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) depends on NFS_V4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) select SUNRPC_BACKCHANNEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) This option enables support for minor version 1 of the NFSv4 protocol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) (RFC 5661) in the kernel's NFS client.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) config NFS_V4_2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) bool "NFS client support for NFSv4.2"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) depends on NFS_V4_1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) This option enables support for minor version 2 of the NFSv4 protocol
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) in the kernel's NFS client.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) config PNFS_FILE_LAYOUT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) depends on NFS_V4_1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) default NFS_V4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) config PNFS_BLOCK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) depends on NFS_V4_1 && BLK_DEV_DM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) default NFS_V4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) config PNFS_FLEXFILE_LAYOUT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) depends on NFS_V4_1 && NFS_V3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) default NFS_V4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) config NFS_V4_1_IMPLEMENTATION_ID_DOMAIN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) string "NFSv4.1 Implementation ID Domain"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) depends on NFS_V4_1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) default "kernel.org"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) This option defines the domain portion of the implementation ID that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) may be sent in the NFS exchange_id operation. The value must be in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) the format of a DNS domain name and should be set to the DNS domain
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) name of the distribution.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) If the NFS client is unchanged from the upstream kernel, this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) option should be set to the default "kernel.org".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) config NFS_V4_1_MIGRATION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) bool "NFSv4.1 client support for migration"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) depends on NFS_V4_1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) This option makes the NFS client advertise to NFSv4.1 servers that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) it can support NFSv4 migration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) The NFSv4.1 pieces of the Linux NFSv4 migration implementation are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) still experimental. If you are not an NFSv4 developer, say N here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) config NFS_V4_SECURITY_LABEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) depends on NFS_V4_2 && SECURITY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) config ROOT_NFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) bool "Root file system on NFS"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) depends on NFS_FS=y && IP_PNP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) If you want your system to mount its root file system via NFS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) choose Y here. This is common practice for managing systems
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) without local permanent storage. For details, read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) <file:Documentation/admin-guide/nfs/nfsroot.rst>.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) Most people say N here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) config NFS_FSCACHE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) bool "Provide NFS client caching support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) depends on NFS_FS=m && FSCACHE || NFS_FS=y && FSCACHE=y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) Say Y here if you want NFS data to be cached locally on disc through
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) the general filesystem cache manager
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) config NFS_USE_LEGACY_DNS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) bool "Use the legacy NFS DNS resolver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) depends on NFS_V4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) The kernel now provides a method for translating a host name into an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) IP address. Select Y here if you would rather use your own DNS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) resolver script.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) If unsure, say N
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) config NFS_USE_KERNEL_DNS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) depends on NFS_V4 && !NFS_USE_LEGACY_DNS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) select DNS_RESOLVER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) config NFS_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) depends on NFS_FS && SUNRPC_DEBUG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) select CRC32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) config NFS_DISABLE_UDP_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) bool "NFS: Disable NFS UDP protocol support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) depends on NFS_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) Choose Y here to disable the use of NFS over UDP. NFS over UDP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) on modern networks (1Gb+) can lead to data corruption caused by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) fragmentation during high loads.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) config NFS_V4_2_READ_PLUS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) bool "NFS: Enable support for the NFSv4.2 READ_PLUS operation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) depends on NFS_V4_2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) This is intended for developers only. The READ_PLUS operation has
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) been shown to have issues under specific conditions and should not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) be used in production.