xref: /linux/fs/nfsd/Kconfig (revision 34a624931b8c12b435b5009edc5897e4630107bc)
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
7670052273SJulian Braha	select CRYPTO
7738a2204fSPatrick Steinhardt	select CRYPTO_MD5
78a2e2f2dcSScott Mayhew	select CRYPTO_SHA256
79f7790029SJeff Layton	select GRACE_PERIOD
8002591f9fSDai Ngo	select NFS_V4_2_SSC_HELPER if NFS_V4_2
81e2b329e2SAlexey Dobriyan	help
82e2b329e2SAlexey Dobriyan	  This option enables support in your system's NFS server for
83e2b329e2SAlexey Dobriyan	  version 4 of the NFS protocol (RFC 3530).
84e2b329e2SAlexey Dobriyan
85e2b329e2SAlexey Dobriyan	  To export files using NFSv4, you need to install additional user
86e2b329e2SAlexey Dobriyan	  space programs which can be found in the Linux nfs-utils package,
87e2b329e2SAlexey Dobriyan	  available from http://linux-nfs.org/.
88e2b329e2SAlexey Dobriyan
89e2b329e2SAlexey Dobriyan	  If unsure, say N.
9065178db4SBryan Schumaker
919cf514ccSChristoph Hellwigconfig NFSD_PNFS
9281c39329SChristoph Hellwig	bool
9381c39329SChristoph Hellwig
9481c39329SChristoph Hellwigconfig NFSD_BLOCKLAYOUT
9581c39329SChristoph Hellwig	bool "NFSv4.1 server support for pNFS block layouts"
9610c4de10SChristoph Hellwig	depends on NFSD_V4 && BLOCK
9781c39329SChristoph Hellwig	select NFSD_PNFS
9815d66ac2SBenjamin Coddington	select EXPORTFS_BLOCK_OPS
999cf514ccSChristoph Hellwig	help
10081c39329SChristoph Hellwig	  This option enables support for the exporting pNFS block layouts
10181c39329SChristoph Hellwig	  in the kernel's NFS server. The pNFS block layout enables NFS
102*34a62493SRicardo Ribalda	  clients to directly perform I/O to block devices accessible to both
10381c39329SChristoph Hellwig	  the server and the clients.  See RFC 5663 for more details.
1049cf514ccSChristoph Hellwig
1059cf514ccSChristoph Hellwig	  If unsure, say N.
1069cf514ccSChristoph Hellwig
107f99d4fbdSChristoph Hellwigconfig NFSD_SCSILAYOUT
108f99d4fbdSChristoph Hellwig	bool "NFSv4.1 server support for pNFS SCSI layouts"
10910c4de10SChristoph Hellwig	depends on NFSD_V4 && BLOCK
110f99d4fbdSChristoph Hellwig	select NFSD_PNFS
11115d66ac2SBenjamin Coddington	select EXPORTFS_BLOCK_OPS
11272148aecSChristoph Hellwig	select BLK_SCSI_REQUEST
113f99d4fbdSChristoph Hellwig	help
114f99d4fbdSChristoph Hellwig	  This option enables support for the exporting pNFS SCSI layouts
115f99d4fbdSChristoph Hellwig	  in the kernel's NFS server. The pNFS SCSI layout enables NFS
116*34a62493SRicardo Ribalda	  clients to directly perform I/O to SCSI devices accessible to both
117f99d4fbdSChristoph Hellwig	  the server and the clients.  See draft-ietf-nfsv4-scsi-layout for
118f99d4fbdSChristoph Hellwig	  more details.
119f99d4fbdSChristoph Hellwig
120f99d4fbdSChristoph Hellwig	  If unsure, say N.
121f99d4fbdSChristoph Hellwig
1229b9960a0STom Haynesconfig NFSD_FLEXFILELAYOUT
1239b9960a0STom Haynes	bool "NFSv4.1 server support for pNFS Flex File layouts"
1249b9960a0STom Haynes	depends on NFSD_V4
1259b9960a0STom Haynes	select NFSD_PNFS
1269b9960a0STom Haynes	help
1279b9960a0STom Haynes	  This option enables support for the exporting pNFS Flex File
1289b9960a0STom Haynes	  layouts in the kernel's NFS server. The pNFS Flex File  layout
1299b9960a0STom Haynes	  enables NFS clients to directly perform I/O to NFSv3 devices
130*34a62493SRicardo Ribalda	  accessible to both the server and the clients.  See
1319b9960a0STom Haynes	  draft-ietf-nfsv4-flex-files for more details.
1329b9960a0STom Haynes
1339b9960a0STom Haynes	  Warning, this server implements the bare minimum functionality
1349b9960a0STom Haynes	  to be a flex file server - it is for testing the client,
1359b9960a0STom Haynes	  not for use in production.
1369b9960a0STom Haynes
1379b9960a0STom Haynes	  If unsure, say N.
1389b9960a0STom Haynes
139b9e8638eSOlga Kornievskaiaconfig NFSD_V4_2_INTER_SSC
140b9e8638eSOlga Kornievskaia	bool "NFSv4.2 inter server to server COPY"
1410cfcd405SDai Ngo	depends on NFSD_V4 && NFS_V4_1 && NFS_V4_2
142b9e8638eSOlga Kornievskaia	help
143b9e8638eSOlga Kornievskaia	  This option enables support for NFSv4.2 inter server to
144b9e8638eSOlga Kornievskaia	  server copy where the destination server calls the NFSv4.2
145b9e8638eSOlga Kornievskaia	  client to read the data to copy from the source server.
146b9e8638eSOlga Kornievskaia
147b9e8638eSOlga Kornievskaia	  If unsure, say N.
148b9e8638eSOlga Kornievskaia
14918032ca0SDavid Quigleyconfig NFSD_V4_SECURITY_LABEL
15018032ca0SDavid Quigley	bool "Provide Security Label support for NFSv4 server"
15118032ca0SDavid Quigley	depends on NFSD_V4 && SECURITY
15218032ca0SDavid Quigley	help
15318032ca0SDavid Quigley
15418032ca0SDavid Quigley	Say Y here if you want enable fine-grained security label attribute
15518032ca0SDavid Quigley	support for NFS version 4.  Security labels allow security modules like
15618032ca0SDavid Quigley	SELinux and Smack to label files to facilitate enforcement of their policies.
15718032ca0SDavid Quigley	Without this an NFSv4 mount will have the same label on each file.
15818032ca0SDavid Quigley
15918032ca0SDavid Quigley	If you do not wish to enable fine-grained security labels SELinux or
16018032ca0SDavid Quigley	Smack policies on NFSv4 files, say N.
161