162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig NFS_FS 362306a36Sopenharmony_ci tristate "NFS client support" 462306a36Sopenharmony_ci depends on INET && FILE_LOCKING && MULTIUSER 562306a36Sopenharmony_ci select LOCKD 662306a36Sopenharmony_ci select SUNRPC 762306a36Sopenharmony_ci select NFS_ACL_SUPPORT if NFS_V3_ACL 862306a36Sopenharmony_ci help 962306a36Sopenharmony_ci Choose Y here if you want to access files residing on other 1062306a36Sopenharmony_ci computers using Sun's Network File System protocol. To compile 1162306a36Sopenharmony_ci this file system support as a module, choose M here: the module 1262306a36Sopenharmony_ci will be called nfs. 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci To mount file systems exported by NFS servers, you also need to 1562306a36Sopenharmony_ci install the user space mount.nfs command which can be found in 1662306a36Sopenharmony_ci the Linux nfs-utils package, available from http://linux-nfs.org/. 1762306a36Sopenharmony_ci Information about using the mount command is available in the 1862306a36Sopenharmony_ci mount(8) man page. More detail about the Linux NFS client 1962306a36Sopenharmony_ci implementation is available via the nfs(5) man page. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci Below you can choose which versions of the NFS protocol are 2262306a36Sopenharmony_ci available in the kernel to mount NFS servers. Support for NFS 2362306a36Sopenharmony_ci version 2 (RFC 1094) is always available when NFS_FS is selected. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci To configure a system which mounts its root file system via NFS 2662306a36Sopenharmony_ci at boot time, say Y here, select "Kernel level IP 2762306a36Sopenharmony_ci autoconfiguration" in the NETWORK menu, and select "Root file 2862306a36Sopenharmony_ci system on NFS" below. You cannot compile this file system as a 2962306a36Sopenharmony_ci module in this case. 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci If unsure, say N. 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ciconfig NFS_V2 3462306a36Sopenharmony_ci tristate "NFS client support for NFS version 2" 3562306a36Sopenharmony_ci depends on NFS_FS 3662306a36Sopenharmony_ci default y 3762306a36Sopenharmony_ci help 3862306a36Sopenharmony_ci This option enables support for version 2 of the NFS protocol 3962306a36Sopenharmony_ci (RFC 1094) in the kernel's NFS client. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci If unsure, say Y. 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ciconfig NFS_V3 4462306a36Sopenharmony_ci tristate "NFS client support for NFS version 3" 4562306a36Sopenharmony_ci depends on NFS_FS 4662306a36Sopenharmony_ci default y 4762306a36Sopenharmony_ci help 4862306a36Sopenharmony_ci This option enables support for version 3 of the NFS protocol 4962306a36Sopenharmony_ci (RFC 1813) in the kernel's NFS client. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci If unsure, say Y. 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciconfig NFS_V3_ACL 5462306a36Sopenharmony_ci bool "NFS client support for the NFSv3 ACL protocol extension" 5562306a36Sopenharmony_ci depends on NFS_V3 5662306a36Sopenharmony_ci help 5762306a36Sopenharmony_ci Some NFS servers support an auxiliary NFSv3 ACL protocol that 5862306a36Sopenharmony_ci Sun added to Solaris but never became an official part of the 5962306a36Sopenharmony_ci NFS version 3 protocol. This protocol extension allows 6062306a36Sopenharmony_ci applications on NFS clients to manipulate POSIX Access Control 6162306a36Sopenharmony_ci Lists on files residing on NFS servers. NFS servers enforce 6262306a36Sopenharmony_ci ACLs on local files whether this protocol is available or not. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci Choose Y here if your NFS server supports the Solaris NFSv3 ACL 6562306a36Sopenharmony_ci protocol extension and you want your NFS client to allow 6662306a36Sopenharmony_ci applications to access and modify ACLs on files on the server. 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci Most NFS servers don't support the Solaris NFSv3 ACL protocol 6962306a36Sopenharmony_ci extension. You can choose N here or specify the "noacl" mount 7062306a36Sopenharmony_ci option to prevent your NFS client from trying to use the NFSv3 7162306a36Sopenharmony_ci ACL protocol. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci If unsure, say N. 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ciconfig NFS_V4 7662306a36Sopenharmony_ci tristate "NFS client support for NFS version 4" 7762306a36Sopenharmony_ci depends on NFS_FS 7862306a36Sopenharmony_ci select KEYS 7962306a36Sopenharmony_ci help 8062306a36Sopenharmony_ci This option enables support for version 4 of the NFS protocol 8162306a36Sopenharmony_ci (RFC 3530) in the kernel's NFS client. 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci To mount NFS servers using NFSv4, you also need to install user 8462306a36Sopenharmony_ci space programs which can be found in the Linux nfs-utils package, 8562306a36Sopenharmony_ci available from http://linux-nfs.org/. 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci If unsure, say Y. 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ciconfig NFS_SWAP 9062306a36Sopenharmony_ci bool "Provide swap over NFS support" 9162306a36Sopenharmony_ci default n 9262306a36Sopenharmony_ci depends on NFS_FS && SWAP 9362306a36Sopenharmony_ci select SUNRPC_SWAP 9462306a36Sopenharmony_ci help 9562306a36Sopenharmony_ci This option enables swapon to work on files located on NFS mounts. 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ciconfig NFS_V4_1 9862306a36Sopenharmony_ci bool "NFS client support for NFSv4.1" 9962306a36Sopenharmony_ci depends on NFS_V4 10062306a36Sopenharmony_ci select SUNRPC_BACKCHANNEL 10162306a36Sopenharmony_ci help 10262306a36Sopenharmony_ci This option enables support for minor version 1 of the NFSv4 protocol 10362306a36Sopenharmony_ci (RFC 5661) in the kernel's NFS client. 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci If unsure, say N. 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ciconfig NFS_V4_2 10862306a36Sopenharmony_ci bool "NFS client support for NFSv4.2" 10962306a36Sopenharmony_ci depends on NFS_V4_1 11062306a36Sopenharmony_ci help 11162306a36Sopenharmony_ci This option enables support for minor version 2 of the NFSv4 protocol 11262306a36Sopenharmony_ci in the kernel's NFS client. 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci If unsure, say N. 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ciconfig PNFS_FILE_LAYOUT 11762306a36Sopenharmony_ci tristate 11862306a36Sopenharmony_ci depends on NFS_V4_1 11962306a36Sopenharmony_ci default NFS_V4 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ciconfig PNFS_BLOCK 12262306a36Sopenharmony_ci tristate 12362306a36Sopenharmony_ci depends on NFS_V4_1 && BLK_DEV_DM 12462306a36Sopenharmony_ci default NFS_V4 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ciconfig PNFS_FLEXFILE_LAYOUT 12762306a36Sopenharmony_ci tristate 12862306a36Sopenharmony_ci depends on NFS_V4_1 && NFS_V3 12962306a36Sopenharmony_ci default NFS_V4 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ciconfig NFS_V4_1_IMPLEMENTATION_ID_DOMAIN 13262306a36Sopenharmony_ci string "NFSv4.1 Implementation ID Domain" 13362306a36Sopenharmony_ci depends on NFS_V4_1 13462306a36Sopenharmony_ci default "kernel.org" 13562306a36Sopenharmony_ci help 13662306a36Sopenharmony_ci This option defines the domain portion of the implementation ID that 13762306a36Sopenharmony_ci may be sent in the NFS exchange_id operation. The value must be in 13862306a36Sopenharmony_ci the format of a DNS domain name and should be set to the DNS domain 13962306a36Sopenharmony_ci name of the distribution. 14062306a36Sopenharmony_ci If the NFS client is unchanged from the upstream kernel, this 14162306a36Sopenharmony_ci option should be set to the default "kernel.org". 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ciconfig NFS_V4_1_MIGRATION 14462306a36Sopenharmony_ci bool "NFSv4.1 client support for migration" 14562306a36Sopenharmony_ci depends on NFS_V4_1 14662306a36Sopenharmony_ci default n 14762306a36Sopenharmony_ci help 14862306a36Sopenharmony_ci This option makes the NFS client advertise to NFSv4.1 servers that 14962306a36Sopenharmony_ci it can support NFSv4 migration. 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci The NFSv4.1 pieces of the Linux NFSv4 migration implementation are 15262306a36Sopenharmony_ci still experimental. If you are not an NFSv4 developer, say N here. 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ciconfig NFS_V4_SECURITY_LABEL 15562306a36Sopenharmony_ci bool 15662306a36Sopenharmony_ci depends on NFS_V4_2 && SECURITY 15762306a36Sopenharmony_ci default y 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ciconfig ROOT_NFS 16062306a36Sopenharmony_ci bool "Root file system on NFS" 16162306a36Sopenharmony_ci depends on NFS_FS=y && IP_PNP 16262306a36Sopenharmony_ci help 16362306a36Sopenharmony_ci If you want your system to mount its root file system via NFS, 16462306a36Sopenharmony_ci choose Y here. This is common practice for managing systems 16562306a36Sopenharmony_ci without local permanent storage. For details, read 16662306a36Sopenharmony_ci <file:Documentation/admin-guide/nfs/nfsroot.rst>. 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci Most people say N here. 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ciconfig NFS_FSCACHE 17162306a36Sopenharmony_ci bool "Provide NFS client caching support" 17262306a36Sopenharmony_ci depends on NFS_FS=m && FSCACHE || NFS_FS=y && FSCACHE=y 17362306a36Sopenharmony_ci select NETFS_SUPPORT 17462306a36Sopenharmony_ci help 17562306a36Sopenharmony_ci Say Y here if you want NFS data to be cached locally on disc through 17662306a36Sopenharmony_ci the general filesystem cache manager 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ciconfig NFS_USE_LEGACY_DNS 17962306a36Sopenharmony_ci bool "Use the legacy NFS DNS resolver" 18062306a36Sopenharmony_ci depends on NFS_V4 18162306a36Sopenharmony_ci help 18262306a36Sopenharmony_ci The kernel now provides a method for translating a host name into an 18362306a36Sopenharmony_ci IP address. Select Y here if you would rather use your own DNS 18462306a36Sopenharmony_ci resolver script. 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci If unsure, say N 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ciconfig NFS_USE_KERNEL_DNS 18962306a36Sopenharmony_ci bool 19062306a36Sopenharmony_ci depends on NFS_V4 && !NFS_USE_LEGACY_DNS 19162306a36Sopenharmony_ci select DNS_RESOLVER 19262306a36Sopenharmony_ci default y 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ciconfig NFS_DEBUG 19562306a36Sopenharmony_ci bool 19662306a36Sopenharmony_ci depends on NFS_FS && SUNRPC_DEBUG 19762306a36Sopenharmony_ci select CRC32 19862306a36Sopenharmony_ci default y 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ciconfig NFS_DISABLE_UDP_SUPPORT 20162306a36Sopenharmony_ci bool "NFS: Disable NFS UDP protocol support" 20262306a36Sopenharmony_ci depends on NFS_FS 20362306a36Sopenharmony_ci default y 20462306a36Sopenharmony_ci help 20562306a36Sopenharmony_ci Choose Y here to disable the use of NFS over UDP. NFS over UDP 20662306a36Sopenharmony_ci on modern networks (1Gb+) can lead to data corruption caused by 20762306a36Sopenharmony_ci fragmentation during high loads. 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ciconfig NFS_V4_2_READ_PLUS 21062306a36Sopenharmony_ci bool "NFS: Enable support for the NFSv4.2 READ_PLUS operation" 21162306a36Sopenharmony_ci depends on NFS_V4_2 21262306a36Sopenharmony_ci default y 21362306a36Sopenharmony_ci help 21462306a36Sopenharmony_ci Choose Y here to enable use of the NFS v4.2 READ_PLUS operation. 215