18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ciconfig NFS_FS 38c2ecf20Sopenharmony_ci tristate "NFS client support" 48c2ecf20Sopenharmony_ci depends on INET && FILE_LOCKING && MULTIUSER 58c2ecf20Sopenharmony_ci select LOCKD 68c2ecf20Sopenharmony_ci select SUNRPC 78c2ecf20Sopenharmony_ci select NFS_ACL_SUPPORT if NFS_V3_ACL 88c2ecf20Sopenharmony_ci help 98c2ecf20Sopenharmony_ci Choose Y here if you want to access files residing on other 108c2ecf20Sopenharmony_ci computers using Sun's Network File System protocol. To compile 118c2ecf20Sopenharmony_ci this file system support as a module, choose M here: the module 128c2ecf20Sopenharmony_ci will be called nfs. 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci To mount file systems exported by NFS servers, you also need to 158c2ecf20Sopenharmony_ci install the user space mount.nfs command which can be found in 168c2ecf20Sopenharmony_ci the Linux nfs-utils package, available from http://linux-nfs.org/. 178c2ecf20Sopenharmony_ci Information about using the mount command is available in the 188c2ecf20Sopenharmony_ci mount(8) man page. More detail about the Linux NFS client 198c2ecf20Sopenharmony_ci implementation is available via the nfs(5) man page. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci Below you can choose which versions of the NFS protocol are 228c2ecf20Sopenharmony_ci available in the kernel to mount NFS servers. Support for NFS 238c2ecf20Sopenharmony_ci version 2 (RFC 1094) is always available when NFS_FS is selected. 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci To configure a system which mounts its root file system via NFS 268c2ecf20Sopenharmony_ci at boot time, say Y here, select "Kernel level IP 278c2ecf20Sopenharmony_ci autoconfiguration" in the NETWORK menu, and select "Root file 288c2ecf20Sopenharmony_ci system on NFS" below. You cannot compile this file system as a 298c2ecf20Sopenharmony_ci module in this case. 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci If unsure, say N. 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ciconfig NFS_V2 348c2ecf20Sopenharmony_ci tristate "NFS client support for NFS version 2" 358c2ecf20Sopenharmony_ci depends on NFS_FS 368c2ecf20Sopenharmony_ci default y 378c2ecf20Sopenharmony_ci help 388c2ecf20Sopenharmony_ci This option enables support for version 2 of the NFS protocol 398c2ecf20Sopenharmony_ci (RFC 1094) in the kernel's NFS client. 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci If unsure, say Y. 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ciconfig NFS_V3 448c2ecf20Sopenharmony_ci tristate "NFS client support for NFS version 3" 458c2ecf20Sopenharmony_ci depends on NFS_FS 468c2ecf20Sopenharmony_ci default y 478c2ecf20Sopenharmony_ci help 488c2ecf20Sopenharmony_ci This option enables support for version 3 of the NFS protocol 498c2ecf20Sopenharmony_ci (RFC 1813) in the kernel's NFS client. 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci If unsure, say Y. 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ciconfig NFS_V3_ACL 548c2ecf20Sopenharmony_ci bool "NFS client support for the NFSv3 ACL protocol extension" 558c2ecf20Sopenharmony_ci depends on NFS_V3 568c2ecf20Sopenharmony_ci help 578c2ecf20Sopenharmony_ci Some NFS servers support an auxiliary NFSv3 ACL protocol that 588c2ecf20Sopenharmony_ci Sun added to Solaris but never became an official part of the 598c2ecf20Sopenharmony_ci NFS version 3 protocol. This protocol extension allows 608c2ecf20Sopenharmony_ci applications on NFS clients to manipulate POSIX Access Control 618c2ecf20Sopenharmony_ci Lists on files residing on NFS servers. NFS servers enforce 628c2ecf20Sopenharmony_ci ACLs on local files whether this protocol is available or not. 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci Choose Y here if your NFS server supports the Solaris NFSv3 ACL 658c2ecf20Sopenharmony_ci protocol extension and you want your NFS client to allow 668c2ecf20Sopenharmony_ci applications to access and modify ACLs on files on the server. 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci Most NFS servers don't support the Solaris NFSv3 ACL protocol 698c2ecf20Sopenharmony_ci extension. You can choose N here or specify the "noacl" mount 708c2ecf20Sopenharmony_ci option to prevent your NFS client from trying to use the NFSv3 718c2ecf20Sopenharmony_ci ACL protocol. 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci If unsure, say N. 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ciconfig NFS_V4 768c2ecf20Sopenharmony_ci tristate "NFS client support for NFS version 4" 778c2ecf20Sopenharmony_ci depends on NFS_FS 788c2ecf20Sopenharmony_ci select SUNRPC_GSS 798c2ecf20Sopenharmony_ci select KEYS 808c2ecf20Sopenharmony_ci help 818c2ecf20Sopenharmony_ci This option enables support for version 4 of the NFS protocol 828c2ecf20Sopenharmony_ci (RFC 3530) in the kernel's NFS client. 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci To mount NFS servers using NFSv4, you also need to install user 858c2ecf20Sopenharmony_ci space programs which can be found in the Linux nfs-utils package, 868c2ecf20Sopenharmony_ci available from http://linux-nfs.org/. 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ci If unsure, say Y. 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ciconfig NFS_SWAP 918c2ecf20Sopenharmony_ci bool "Provide swap over NFS support" 928c2ecf20Sopenharmony_ci default n 938c2ecf20Sopenharmony_ci depends on NFS_FS && SWAP 948c2ecf20Sopenharmony_ci select SUNRPC_SWAP 958c2ecf20Sopenharmony_ci help 968c2ecf20Sopenharmony_ci This option enables swapon to work on files located on NFS mounts. 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ciconfig NFS_V4_1 998c2ecf20Sopenharmony_ci bool "NFS client support for NFSv4.1" 1008c2ecf20Sopenharmony_ci depends on NFS_V4 1018c2ecf20Sopenharmony_ci select SUNRPC_BACKCHANNEL 1028c2ecf20Sopenharmony_ci help 1038c2ecf20Sopenharmony_ci This option enables support for minor version 1 of the NFSv4 protocol 1048c2ecf20Sopenharmony_ci (RFC 5661) in the kernel's NFS client. 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ci If unsure, say N. 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ciconfig NFS_V4_2 1098c2ecf20Sopenharmony_ci bool "NFS client support for NFSv4.2" 1108c2ecf20Sopenharmony_ci depends on NFS_V4_1 1118c2ecf20Sopenharmony_ci help 1128c2ecf20Sopenharmony_ci This option enables support for minor version 2 of the NFSv4 protocol 1138c2ecf20Sopenharmony_ci in the kernel's NFS client. 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci If unsure, say N. 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ciconfig PNFS_FILE_LAYOUT 1188c2ecf20Sopenharmony_ci tristate 1198c2ecf20Sopenharmony_ci depends on NFS_V4_1 1208c2ecf20Sopenharmony_ci default NFS_V4 1218c2ecf20Sopenharmony_ci 1228c2ecf20Sopenharmony_ciconfig PNFS_BLOCK 1238c2ecf20Sopenharmony_ci tristate 1248c2ecf20Sopenharmony_ci depends on NFS_V4_1 && BLK_DEV_DM 1258c2ecf20Sopenharmony_ci default NFS_V4 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ciconfig PNFS_FLEXFILE_LAYOUT 1288c2ecf20Sopenharmony_ci tristate 1298c2ecf20Sopenharmony_ci depends on NFS_V4_1 && NFS_V3 1308c2ecf20Sopenharmony_ci default NFS_V4 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ciconfig NFS_V4_1_IMPLEMENTATION_ID_DOMAIN 1338c2ecf20Sopenharmony_ci string "NFSv4.1 Implementation ID Domain" 1348c2ecf20Sopenharmony_ci depends on NFS_V4_1 1358c2ecf20Sopenharmony_ci default "kernel.org" 1368c2ecf20Sopenharmony_ci help 1378c2ecf20Sopenharmony_ci This option defines the domain portion of the implementation ID that 1388c2ecf20Sopenharmony_ci may be sent in the NFS exchange_id operation. The value must be in 1398c2ecf20Sopenharmony_ci the format of a DNS domain name and should be set to the DNS domain 1408c2ecf20Sopenharmony_ci name of the distribution. 1418c2ecf20Sopenharmony_ci If the NFS client is unchanged from the upstream kernel, this 1428c2ecf20Sopenharmony_ci option should be set to the default "kernel.org". 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ciconfig NFS_V4_1_MIGRATION 1458c2ecf20Sopenharmony_ci bool "NFSv4.1 client support for migration" 1468c2ecf20Sopenharmony_ci depends on NFS_V4_1 1478c2ecf20Sopenharmony_ci default n 1488c2ecf20Sopenharmony_ci help 1498c2ecf20Sopenharmony_ci This option makes the NFS client advertise to NFSv4.1 servers that 1508c2ecf20Sopenharmony_ci it can support NFSv4 migration. 1518c2ecf20Sopenharmony_ci 1528c2ecf20Sopenharmony_ci The NFSv4.1 pieces of the Linux NFSv4 migration implementation are 1538c2ecf20Sopenharmony_ci still experimental. If you are not an NFSv4 developer, say N here. 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ciconfig NFS_V4_SECURITY_LABEL 1568c2ecf20Sopenharmony_ci bool 1578c2ecf20Sopenharmony_ci depends on NFS_V4_2 && SECURITY 1588c2ecf20Sopenharmony_ci default y 1598c2ecf20Sopenharmony_ci 1608c2ecf20Sopenharmony_ciconfig ROOT_NFS 1618c2ecf20Sopenharmony_ci bool "Root file system on NFS" 1628c2ecf20Sopenharmony_ci depends on NFS_FS=y && IP_PNP 1638c2ecf20Sopenharmony_ci help 1648c2ecf20Sopenharmony_ci If you want your system to mount its root file system via NFS, 1658c2ecf20Sopenharmony_ci choose Y here. This is common practice for managing systems 1668c2ecf20Sopenharmony_ci without local permanent storage. For details, read 1678c2ecf20Sopenharmony_ci <file:Documentation/admin-guide/nfs/nfsroot.rst>. 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci Most people say N here. 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ciconfig NFS_FSCACHE 1728c2ecf20Sopenharmony_ci bool "Provide NFS client caching support" 1738c2ecf20Sopenharmony_ci depends on NFS_FS=m && FSCACHE || NFS_FS=y && FSCACHE=y 1748c2ecf20Sopenharmony_ci help 1758c2ecf20Sopenharmony_ci Say Y here if you want NFS data to be cached locally on disc through 1768c2ecf20Sopenharmony_ci the general filesystem cache manager 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ciconfig NFS_USE_LEGACY_DNS 1798c2ecf20Sopenharmony_ci bool "Use the legacy NFS DNS resolver" 1808c2ecf20Sopenharmony_ci depends on NFS_V4 1818c2ecf20Sopenharmony_ci help 1828c2ecf20Sopenharmony_ci The kernel now provides a method for translating a host name into an 1838c2ecf20Sopenharmony_ci IP address. Select Y here if you would rather use your own DNS 1848c2ecf20Sopenharmony_ci resolver script. 1858c2ecf20Sopenharmony_ci 1868c2ecf20Sopenharmony_ci If unsure, say N 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ciconfig NFS_USE_KERNEL_DNS 1898c2ecf20Sopenharmony_ci bool 1908c2ecf20Sopenharmony_ci depends on NFS_V4 && !NFS_USE_LEGACY_DNS 1918c2ecf20Sopenharmony_ci select DNS_RESOLVER 1928c2ecf20Sopenharmony_ci default y 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ciconfig NFS_DEBUG 1958c2ecf20Sopenharmony_ci bool 1968c2ecf20Sopenharmony_ci depends on NFS_FS && SUNRPC_DEBUG 1978c2ecf20Sopenharmony_ci select CRC32 1988c2ecf20Sopenharmony_ci default y 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ciconfig NFS_DISABLE_UDP_SUPPORT 2018c2ecf20Sopenharmony_ci bool "NFS: Disable NFS UDP protocol support" 2028c2ecf20Sopenharmony_ci depends on NFS_FS 2038c2ecf20Sopenharmony_ci default y 2048c2ecf20Sopenharmony_ci help 2058c2ecf20Sopenharmony_ci Choose Y here to disable the use of NFS over UDP. NFS over UDP 2068c2ecf20Sopenharmony_ci on modern networks (1Gb+) can lead to data corruption caused by 2078c2ecf20Sopenharmony_ci fragmentation during high loads. 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_ciconfig NFS_V4_2_READ_PLUS 2108c2ecf20Sopenharmony_ci bool "NFS: Enable support for the NFSv4.2 READ_PLUS operation" 2118c2ecf20Sopenharmony_ci depends on NFS_V4_2 2128c2ecf20Sopenharmony_ci default n 2138c2ecf20Sopenharmony_ci help 2148c2ecf20Sopenharmony_ci This is intended for developers only. The READ_PLUS operation has 2158c2ecf20Sopenharmony_ci been shown to have issues under specific conditions and should not 2168c2ecf20Sopenharmony_ci be used in production. 217