18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ciconfig NFSD 38c2ecf20Sopenharmony_ci tristate "NFS server support" 48c2ecf20Sopenharmony_ci depends on INET 58c2ecf20Sopenharmony_ci depends on FILE_LOCKING 68c2ecf20Sopenharmony_ci depends on FSNOTIFY 78c2ecf20Sopenharmony_ci select LOCKD 88c2ecf20Sopenharmony_ci select SUNRPC 98c2ecf20Sopenharmony_ci select EXPORTFS 108c2ecf20Sopenharmony_ci select NFS_ACL_SUPPORT if NFSD_V2_ACL 118c2ecf20Sopenharmony_ci depends on MULTIUSER 128c2ecf20Sopenharmony_ci help 138c2ecf20Sopenharmony_ci Choose Y here if you want to allow other computers to access 148c2ecf20Sopenharmony_ci files residing on this system using Sun's Network File System 158c2ecf20Sopenharmony_ci protocol. To compile the NFS server support as a module, 168c2ecf20Sopenharmony_ci choose M here: the module will be called nfsd. 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci You may choose to use a user-space NFS server instead, in which 198c2ecf20Sopenharmony_ci case you can choose N here. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci To export local file systems using NFS, you also need to install 228c2ecf20Sopenharmony_ci user space programs which can be found in the Linux nfs-utils 238c2ecf20Sopenharmony_ci package, available from http://linux-nfs.org/. More detail about 248c2ecf20Sopenharmony_ci the Linux NFS server implementation is available via the 258c2ecf20Sopenharmony_ci exports(5) man page. 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci Below you can choose which versions of the NFS protocol are 288c2ecf20Sopenharmony_ci available to clients mounting the NFS server on this system. 298c2ecf20Sopenharmony_ci Support for NFS version 2 (RFC 1094) is always available when 308c2ecf20Sopenharmony_ci CONFIG_NFSD is selected. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci If unsure, say N. 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciconfig NFSD_V2_ACL 358c2ecf20Sopenharmony_ci bool 368c2ecf20Sopenharmony_ci depends on NFSD 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciconfig NFSD_V3 398c2ecf20Sopenharmony_ci bool "NFS server support for NFS version 3" 408c2ecf20Sopenharmony_ci depends on NFSD 418c2ecf20Sopenharmony_ci help 428c2ecf20Sopenharmony_ci This option enables support in your system's NFS server for 438c2ecf20Sopenharmony_ci version 3 of the NFS protocol (RFC 1813). 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci If unsure, say Y. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciconfig NFSD_V3_ACL 488c2ecf20Sopenharmony_ci bool "NFS server support for the NFSv3 ACL protocol extension" 498c2ecf20Sopenharmony_ci depends on NFSD_V3 508c2ecf20Sopenharmony_ci select NFSD_V2_ACL 518c2ecf20Sopenharmony_ci help 528c2ecf20Sopenharmony_ci Solaris NFS servers support an auxiliary NFSv3 ACL protocol that 538c2ecf20Sopenharmony_ci never became an official part of the NFS version 3 protocol. 548c2ecf20Sopenharmony_ci This protocol extension allows applications on NFS clients to 558c2ecf20Sopenharmony_ci manipulate POSIX Access Control Lists on files residing on NFS 568c2ecf20Sopenharmony_ci servers. NFS servers enforce POSIX ACLs on local files whether 578c2ecf20Sopenharmony_ci this protocol is available or not. 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci This option enables support in your system's NFS server for the 608c2ecf20Sopenharmony_ci NFSv3 ACL protocol extension allowing NFS clients to manipulate 618c2ecf20Sopenharmony_ci POSIX ACLs on files exported by your system's NFS server. NFS 628c2ecf20Sopenharmony_ci clients which support the Solaris NFSv3 ACL protocol can then 638c2ecf20Sopenharmony_ci access and modify ACLs on your NFS server. 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci To store ACLs on your NFS server, you also need to enable ACL- 668c2ecf20Sopenharmony_ci related CONFIG options for your local file systems of choice. 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci If unsure, say N. 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ciconfig NFSD_V4 718c2ecf20Sopenharmony_ci bool "NFS server support for NFS version 4" 728c2ecf20Sopenharmony_ci depends on NFSD && PROC_FS 738c2ecf20Sopenharmony_ci select NFSD_V3 748c2ecf20Sopenharmony_ci select FS_POSIX_ACL 758c2ecf20Sopenharmony_ci select SUNRPC_GSS 768c2ecf20Sopenharmony_ci select CRYPTO 778c2ecf20Sopenharmony_ci select CRYPTO_MD5 788c2ecf20Sopenharmony_ci select CRYPTO_SHA256 798c2ecf20Sopenharmony_ci select GRACE_PERIOD 808c2ecf20Sopenharmony_ci help 818c2ecf20Sopenharmony_ci This option enables support in your system's NFS server for 828c2ecf20Sopenharmony_ci version 4 of the NFS protocol (RFC 3530). 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci To export files using NFSv4, you need to install additional 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 N. 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ciconfig NFSD_PNFS 918c2ecf20Sopenharmony_ci bool 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ciconfig NFSD_BLOCKLAYOUT 948c2ecf20Sopenharmony_ci bool "NFSv4.1 server support for pNFS block layouts" 958c2ecf20Sopenharmony_ci depends on NFSD_V4 && BLOCK 968c2ecf20Sopenharmony_ci select NFSD_PNFS 978c2ecf20Sopenharmony_ci select EXPORTFS_BLOCK_OPS 988c2ecf20Sopenharmony_ci help 998c2ecf20Sopenharmony_ci This option enables support for the exporting pNFS block layouts 1008c2ecf20Sopenharmony_ci in the kernel's NFS server. The pNFS block layout enables NFS 1018c2ecf20Sopenharmony_ci clients to directly perform I/O to block devices accesible to both 1028c2ecf20Sopenharmony_ci the server and the clients. See RFC 5663 for more details. 1038c2ecf20Sopenharmony_ci 1048c2ecf20Sopenharmony_ci If unsure, say N. 1058c2ecf20Sopenharmony_ci 1068c2ecf20Sopenharmony_ciconfig NFSD_SCSILAYOUT 1078c2ecf20Sopenharmony_ci bool "NFSv4.1 server support for pNFS SCSI layouts" 1088c2ecf20Sopenharmony_ci depends on NFSD_V4 && BLOCK 1098c2ecf20Sopenharmony_ci select NFSD_PNFS 1108c2ecf20Sopenharmony_ci select EXPORTFS_BLOCK_OPS 1118c2ecf20Sopenharmony_ci select BLK_SCSI_REQUEST 1128c2ecf20Sopenharmony_ci help 1138c2ecf20Sopenharmony_ci This option enables support for the exporting pNFS SCSI layouts 1148c2ecf20Sopenharmony_ci in the kernel's NFS server. The pNFS SCSI layout enables NFS 1158c2ecf20Sopenharmony_ci clients to directly perform I/O to SCSI devices accesible to both 1168c2ecf20Sopenharmony_ci the server and the clients. See draft-ietf-nfsv4-scsi-layout for 1178c2ecf20Sopenharmony_ci more details. 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci If unsure, say N. 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ciconfig NFSD_FLEXFILELAYOUT 1228c2ecf20Sopenharmony_ci bool "NFSv4.1 server support for pNFS Flex File layouts" 1238c2ecf20Sopenharmony_ci depends on NFSD_V4 1248c2ecf20Sopenharmony_ci select NFSD_PNFS 1258c2ecf20Sopenharmony_ci help 1268c2ecf20Sopenharmony_ci This option enables support for the exporting pNFS Flex File 1278c2ecf20Sopenharmony_ci layouts in the kernel's NFS server. The pNFS Flex File layout 1288c2ecf20Sopenharmony_ci enables NFS clients to directly perform I/O to NFSv3 devices 1298c2ecf20Sopenharmony_ci accesible to both the server and the clients. See 1308c2ecf20Sopenharmony_ci draft-ietf-nfsv4-flex-files for more details. 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci Warning, this server implements the bare minimum functionality 1338c2ecf20Sopenharmony_ci to be a flex file server - it is for testing the client, 1348c2ecf20Sopenharmony_ci not for use in production. 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci If unsure, say N. 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ciconfig NFSD_V4_2_INTER_SSC 1398c2ecf20Sopenharmony_ci bool "NFSv4.2 inter server to server COPY" 1408c2ecf20Sopenharmony_ci depends on NFSD_V4 && NFS_V4_1 && NFS_V4_2 1418c2ecf20Sopenharmony_ci help 1428c2ecf20Sopenharmony_ci This option enables support for NFSv4.2 inter server to 1438c2ecf20Sopenharmony_ci server copy where the destination server calls the NFSv4.2 1448c2ecf20Sopenharmony_ci client to read the data to copy from the source server. 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ci If unsure, say N. 1478c2ecf20Sopenharmony_ci 1488c2ecf20Sopenharmony_ciconfig NFSD_V4_SECURITY_LABEL 1498c2ecf20Sopenharmony_ci bool "Provide Security Label support for NFSv4 server" 1508c2ecf20Sopenharmony_ci depends on NFSD_V4 && SECURITY 1518c2ecf20Sopenharmony_ci help 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ci Say Y here if you want enable fine-grained security label attribute 1548c2ecf20Sopenharmony_ci support for NFS version 4. Security labels allow security modules like 1558c2ecf20Sopenharmony_ci SELinux and Smack to label files to facilitate enforcement of their policies. 1568c2ecf20Sopenharmony_ci Without this an NFSv4 mount will have the same label on each file. 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ci If you do not wish to enable fine-grained security labels SELinux or 1598c2ecf20Sopenharmony_ci Smack policies on NFSv4 files, say N. 160