1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2e2b329e2SAlexey Dobriyanconfig NFSD 3e2b329e2SAlexey Dobriyan tristate "NFS server support" 4e2b329e2SAlexey Dobriyan depends on INET 568666561SManish Katiyar depends on FILE_LOCKING 665294c1fSJeff Layton depends on FSNOTIFY 7e2b329e2SAlexey Dobriyan select LOCKD 8e2b329e2SAlexey Dobriyan select SUNRPC 9e2b329e2SAlexey Dobriyan select EXPORTFS 10e2b329e2SAlexey Dobriyan select NFS_ACL_SUPPORT if NFSD_V2_ACL 112813893fSIulia Manda depends on MULTIUSER 12e2b329e2SAlexey Dobriyan help 13e2b329e2SAlexey Dobriyan Choose Y here if you want to allow other computers to access 14e2b329e2SAlexey Dobriyan files residing on this system using Sun's Network File System 15e2b329e2SAlexey Dobriyan protocol. To compile the NFS server support as a module, 16e2b329e2SAlexey Dobriyan choose M here: the module will be called nfsd. 17e2b329e2SAlexey Dobriyan 18e2b329e2SAlexey Dobriyan You may choose to use a user-space NFS server instead, in which 19e2b329e2SAlexey Dobriyan case you can choose N here. 20e2b329e2SAlexey Dobriyan 21e2b329e2SAlexey Dobriyan To export local file systems using NFS, you also need to install 22e2b329e2SAlexey Dobriyan user space programs which can be found in the Linux nfs-utils 23e2b329e2SAlexey Dobriyan package, available from http://linux-nfs.org/. More detail about 24e2b329e2SAlexey Dobriyan the Linux NFS server implementation is available via the 25e2b329e2SAlexey Dobriyan exports(5) man page. 26e2b329e2SAlexey Dobriyan 27e2b329e2SAlexey Dobriyan Below you can choose which versions of the NFS protocol are 28e2b329e2SAlexey Dobriyan available to clients mounting the NFS server on this system. 29e2b329e2SAlexey Dobriyan Support for NFS version 2 (RFC 1094) is always available when 30e2b329e2SAlexey Dobriyan CONFIG_NFSD is selected. 31e2b329e2SAlexey Dobriyan 32e2b329e2SAlexey Dobriyan If unsure, say N. 33e2b329e2SAlexey Dobriyan 34e2b329e2SAlexey Dobriyanconfig NFSD_V2_ACL 35e2b329e2SAlexey Dobriyan bool 36e2b329e2SAlexey Dobriyan depends on NFSD 37e2b329e2SAlexey Dobriyan 38e2b329e2SAlexey Dobriyanconfig NFSD_V3 39e2b329e2SAlexey Dobriyan bool "NFS server support for NFS version 3" 40e2b329e2SAlexey Dobriyan depends on NFSD 41e2b329e2SAlexey Dobriyan help 42e2b329e2SAlexey Dobriyan This option enables support in your system's NFS server for 43e2b329e2SAlexey Dobriyan version 3 of the NFS protocol (RFC 1813). 44e2b329e2SAlexey Dobriyan 45e2b329e2SAlexey Dobriyan If unsure, say Y. 46e2b329e2SAlexey Dobriyan 47e2b329e2SAlexey Dobriyanconfig NFSD_V3_ACL 48e2b329e2SAlexey Dobriyan bool "NFS server support for the NFSv3 ACL protocol extension" 49e2b329e2SAlexey Dobriyan depends on NFSD_V3 50e2b329e2SAlexey Dobriyan select NFSD_V2_ACL 51e2b329e2SAlexey Dobriyan help 52e2b329e2SAlexey Dobriyan Solaris NFS servers support an auxiliary NFSv3 ACL protocol that 53e2b329e2SAlexey Dobriyan never became an official part of the NFS version 3 protocol. 54e2b329e2SAlexey Dobriyan This protocol extension allows applications on NFS clients to 55e2b329e2SAlexey Dobriyan manipulate POSIX Access Control Lists on files residing on NFS 56e2b329e2SAlexey Dobriyan servers. NFS servers enforce POSIX ACLs on local files whether 57e2b329e2SAlexey Dobriyan this protocol is available or not. 58e2b329e2SAlexey Dobriyan 59e2b329e2SAlexey Dobriyan This option enables support in your system's NFS server for the 60e2b329e2SAlexey Dobriyan NFSv3 ACL protocol extension allowing NFS clients to manipulate 61e2b329e2SAlexey Dobriyan POSIX ACLs on files exported by your system's NFS server. NFS 62e2b329e2SAlexey Dobriyan clients which support the Solaris NFSv3 ACL protocol can then 63e2b329e2SAlexey Dobriyan access and modify ACLs on your NFS server. 64e2b329e2SAlexey Dobriyan 65e2b329e2SAlexey Dobriyan To store ACLs on your NFS server, you also need to enable ACL- 66e2b329e2SAlexey Dobriyan related CONFIG options for your local file systems of choice. 67e2b329e2SAlexey Dobriyan 68e2b329e2SAlexey Dobriyan If unsure, say N. 69e2b329e2SAlexey Dobriyan 70e2b329e2SAlexey Dobriyanconfig NFSD_V4 71f987c902SKees Cook bool "NFS server support for NFS version 4" 72f987c902SKees Cook depends on NFSD && PROC_FS 73e2b329e2SAlexey Dobriyan select NFSD_V3 74e2b329e2SAlexey Dobriyan select FS_POSIX_ACL 75827e3457STrond Myklebust select SUNRPC_GSS 76*a2e2f2dcSScott Mayhew select CRYPTO_SHA256 77f7790029SJeff Layton select GRACE_PERIOD 78e2b329e2SAlexey Dobriyan help 79e2b329e2SAlexey Dobriyan This option enables support in your system's NFS server for 80e2b329e2SAlexey Dobriyan version 4 of the NFS protocol (RFC 3530). 81e2b329e2SAlexey Dobriyan 82e2b329e2SAlexey Dobriyan To export files using NFSv4, you need to install additional user 83e2b329e2SAlexey Dobriyan space programs which can be found in the Linux nfs-utils package, 84e2b329e2SAlexey Dobriyan available from http://linux-nfs.org/. 85e2b329e2SAlexey Dobriyan 86e2b329e2SAlexey Dobriyan If unsure, say N. 8765178db4SBryan Schumaker 889cf514ccSChristoph Hellwigconfig NFSD_PNFS 8981c39329SChristoph Hellwig bool 9081c39329SChristoph Hellwig 9181c39329SChristoph Hellwigconfig NFSD_BLOCKLAYOUT 9281c39329SChristoph Hellwig bool "NFSv4.1 server support for pNFS block layouts" 9310c4de10SChristoph Hellwig depends on NFSD_V4 && BLOCK 9481c39329SChristoph Hellwig select NFSD_PNFS 9515d66ac2SBenjamin Coddington select EXPORTFS_BLOCK_OPS 969cf514ccSChristoph Hellwig help 9781c39329SChristoph Hellwig This option enables support for the exporting pNFS block layouts 9881c39329SChristoph Hellwig in the kernel's NFS server. The pNFS block layout enables NFS 9981c39329SChristoph Hellwig clients to directly perform I/O to block devices accesible to both 10081c39329SChristoph Hellwig the server and the clients. See RFC 5663 for more details. 1019cf514ccSChristoph Hellwig 1029cf514ccSChristoph Hellwig If unsure, say N. 1039cf514ccSChristoph Hellwig 104f99d4fbdSChristoph Hellwigconfig NFSD_SCSILAYOUT 105f99d4fbdSChristoph Hellwig bool "NFSv4.1 server support for pNFS SCSI layouts" 10610c4de10SChristoph Hellwig depends on NFSD_V4 && BLOCK 107f99d4fbdSChristoph Hellwig select NFSD_PNFS 10815d66ac2SBenjamin Coddington select EXPORTFS_BLOCK_OPS 10972148aecSChristoph Hellwig select BLK_SCSI_REQUEST 110f99d4fbdSChristoph Hellwig help 111f99d4fbdSChristoph Hellwig This option enables support for the exporting pNFS SCSI layouts 112f99d4fbdSChristoph Hellwig in the kernel's NFS server. The pNFS SCSI layout enables NFS 113f99d4fbdSChristoph Hellwig clients to directly perform I/O to SCSI devices accesible to both 114f99d4fbdSChristoph Hellwig the server and the clients. See draft-ietf-nfsv4-scsi-layout for 115f99d4fbdSChristoph Hellwig more details. 116f99d4fbdSChristoph Hellwig 117f99d4fbdSChristoph Hellwig If unsure, say N. 118f99d4fbdSChristoph Hellwig 1199b9960a0STom Haynesconfig NFSD_FLEXFILELAYOUT 1209b9960a0STom Haynes bool "NFSv4.1 server support for pNFS Flex File layouts" 1219b9960a0STom Haynes depends on NFSD_V4 1229b9960a0STom Haynes select NFSD_PNFS 1239b9960a0STom Haynes help 1249b9960a0STom Haynes This option enables support for the exporting pNFS Flex File 1259b9960a0STom Haynes layouts in the kernel's NFS server. The pNFS Flex File layout 1269b9960a0STom Haynes enables NFS clients to directly perform I/O to NFSv3 devices 1279b9960a0STom Haynes accesible to both the server and the clients. See 1289b9960a0STom Haynes draft-ietf-nfsv4-flex-files for more details. 1299b9960a0STom Haynes 1309b9960a0STom Haynes Warning, this server implements the bare minimum functionality 1319b9960a0STom Haynes to be a flex file server - it is for testing the client, 1329b9960a0STom Haynes not for use in production. 1339b9960a0STom Haynes 1349b9960a0STom Haynes If unsure, say N. 1359b9960a0STom Haynes 13618032ca0SDavid Quigleyconfig NFSD_V4_SECURITY_LABEL 13718032ca0SDavid Quigley bool "Provide Security Label support for NFSv4 server" 13818032ca0SDavid Quigley depends on NFSD_V4 && SECURITY 13918032ca0SDavid Quigley help 14018032ca0SDavid Quigley 14118032ca0SDavid Quigley Say Y here if you want enable fine-grained security label attribute 14218032ca0SDavid Quigley support for NFS version 4. Security labels allow security modules like 14318032ca0SDavid Quigley SELinux and Smack to label files to facilitate enforcement of their policies. 14418032ca0SDavid Quigley Without this an NFSv4 mount will have the same label on each file. 14518032ca0SDavid Quigley 14618032ca0SDavid Quigley If you do not wish to enable fine-grained security labels SELinux or 14718032ca0SDavid Quigley Smack policies on NFSv4 files, say N. 14818032ca0SDavid Quigley 14965178db4SBryan Schumakerconfig NFSD_FAULT_INJECTION 15065178db4SBryan Schumaker bool "NFS server manual fault injection" 1519d60d931SJ. Bruce Fields depends on NFSD_V4 && DEBUG_KERNEL && DEBUG_FS && BROKEN 15265178db4SBryan Schumaker help 15365178db4SBryan Schumaker This option enables support for manually injecting faults 15465178db4SBryan Schumaker into the NFS server. This is intended to be used for 15565178db4SBryan Schumaker testing error recovery on the NFS client. 15665178db4SBryan Schumaker 15765178db4SBryan Schumaker If unsure, say N. 158