xref: /linux/fs/nfsd/Kconfig (revision f99d4fbdae6765d0bb4ed5441f6fa1f036122d59)
1e2b329e2SAlexey Dobriyanconfig NFSD
2e2b329e2SAlexey Dobriyan	tristate "NFS server support"
3e2b329e2SAlexey Dobriyan	depends on INET
468666561SManish Katiyar	depends on FILE_LOCKING
5e2b329e2SAlexey Dobriyan	select LOCKD
6e2b329e2SAlexey Dobriyan	select SUNRPC
7e2b329e2SAlexey Dobriyan	select EXPORTFS
8e2b329e2SAlexey Dobriyan	select NFS_ACL_SUPPORT if NFSD_V2_ACL
92813893fSIulia Manda	depends on MULTIUSER
10e2b329e2SAlexey Dobriyan	help
11e2b329e2SAlexey Dobriyan	  Choose Y here if you want to allow other computers to access
12e2b329e2SAlexey Dobriyan	  files residing on this system using Sun's Network File System
13e2b329e2SAlexey Dobriyan	  protocol.  To compile the NFS server support as a module,
14e2b329e2SAlexey Dobriyan	  choose M here: the module will be called nfsd.
15e2b329e2SAlexey Dobriyan
16e2b329e2SAlexey Dobriyan	  You may choose to use a user-space NFS server instead, in which
17e2b329e2SAlexey Dobriyan	  case you can choose N here.
18e2b329e2SAlexey Dobriyan
19e2b329e2SAlexey Dobriyan	  To export local file systems using NFS, you also need to install
20e2b329e2SAlexey Dobriyan	  user space programs which can be found in the Linux nfs-utils
21e2b329e2SAlexey Dobriyan	  package, available from http://linux-nfs.org/.  More detail about
22e2b329e2SAlexey Dobriyan	  the Linux NFS server implementation is available via the
23e2b329e2SAlexey Dobriyan	  exports(5) man page.
24e2b329e2SAlexey Dobriyan
25e2b329e2SAlexey Dobriyan	  Below you can choose which versions of the NFS protocol are
26e2b329e2SAlexey Dobriyan	  available to clients mounting the NFS server on this system.
27e2b329e2SAlexey Dobriyan	  Support for NFS version 2 (RFC 1094) is always available when
28e2b329e2SAlexey Dobriyan	  CONFIG_NFSD is selected.
29e2b329e2SAlexey Dobriyan
30e2b329e2SAlexey Dobriyan	  If unsure, say N.
31e2b329e2SAlexey Dobriyan
32e2b329e2SAlexey Dobriyanconfig NFSD_V2_ACL
33e2b329e2SAlexey Dobriyan	bool
34e2b329e2SAlexey Dobriyan	depends on NFSD
35e2b329e2SAlexey Dobriyan
36e2b329e2SAlexey Dobriyanconfig NFSD_V3
37e2b329e2SAlexey Dobriyan	bool "NFS server support for NFS version 3"
38e2b329e2SAlexey Dobriyan	depends on NFSD
39e2b329e2SAlexey Dobriyan	help
40e2b329e2SAlexey Dobriyan	  This option enables support in your system's NFS server for
41e2b329e2SAlexey Dobriyan	  version 3 of the NFS protocol (RFC 1813).
42e2b329e2SAlexey Dobriyan
43e2b329e2SAlexey Dobriyan	  If unsure, say Y.
44e2b329e2SAlexey Dobriyan
45e2b329e2SAlexey Dobriyanconfig NFSD_V3_ACL
46e2b329e2SAlexey Dobriyan	bool "NFS server support for the NFSv3 ACL protocol extension"
47e2b329e2SAlexey Dobriyan	depends on NFSD_V3
48e2b329e2SAlexey Dobriyan	select NFSD_V2_ACL
49e2b329e2SAlexey Dobriyan	help
50e2b329e2SAlexey Dobriyan	  Solaris NFS servers support an auxiliary NFSv3 ACL protocol that
51e2b329e2SAlexey Dobriyan	  never became an official part of the NFS version 3 protocol.
52e2b329e2SAlexey Dobriyan	  This protocol extension allows applications on NFS clients to
53e2b329e2SAlexey Dobriyan	  manipulate POSIX Access Control Lists on files residing on NFS
54e2b329e2SAlexey Dobriyan	  servers.  NFS servers enforce POSIX ACLs on local files whether
55e2b329e2SAlexey Dobriyan	  this protocol is available or not.
56e2b329e2SAlexey Dobriyan
57e2b329e2SAlexey Dobriyan	  This option enables support in your system's NFS server for the
58e2b329e2SAlexey Dobriyan	  NFSv3 ACL protocol extension allowing NFS clients to manipulate
59e2b329e2SAlexey Dobriyan	  POSIX ACLs on files exported by your system's NFS server.  NFS
60e2b329e2SAlexey Dobriyan	  clients which support the Solaris NFSv3 ACL protocol can then
61e2b329e2SAlexey Dobriyan	  access and modify ACLs on your NFS server.
62e2b329e2SAlexey Dobriyan
63e2b329e2SAlexey Dobriyan	  To store ACLs on your NFS server, you also need to enable ACL-
64e2b329e2SAlexey Dobriyan	  related CONFIG options for your local file systems of choice.
65e2b329e2SAlexey Dobriyan
66e2b329e2SAlexey Dobriyan	  If unsure, say N.
67e2b329e2SAlexey Dobriyan
68e2b329e2SAlexey Dobriyanconfig NFSD_V4
69f987c902SKees Cook	bool "NFS server support for NFS version 4"
70f987c902SKees Cook	depends on NFSD && PROC_FS
71e2b329e2SAlexey Dobriyan	select NFSD_V3
72e2b329e2SAlexey Dobriyan	select FS_POSIX_ACL
73827e3457STrond Myklebust	select SUNRPC_GSS
74be1f4084SRandy Dunlap	select CRYPTO
75f7790029SJeff Layton	select GRACE_PERIOD
76e2b329e2SAlexey Dobriyan	help
77e2b329e2SAlexey Dobriyan	  This option enables support in your system's NFS server for
78e2b329e2SAlexey Dobriyan	  version 4 of the NFS protocol (RFC 3530).
79e2b329e2SAlexey Dobriyan
80e2b329e2SAlexey Dobriyan	  To export files using NFSv4, you need to install additional user
81e2b329e2SAlexey Dobriyan	  space programs which can be found in the Linux nfs-utils package,
82e2b329e2SAlexey Dobriyan	  available from http://linux-nfs.org/.
83e2b329e2SAlexey Dobriyan
84e2b329e2SAlexey Dobriyan	  If unsure, say N.
8565178db4SBryan Schumaker
869cf514ccSChristoph Hellwigconfig NFSD_PNFS
8781c39329SChristoph Hellwig	bool
8881c39329SChristoph Hellwig
8981c39329SChristoph Hellwigconfig NFSD_BLOCKLAYOUT
9081c39329SChristoph Hellwig	bool "NFSv4.1 server support for pNFS block layouts"
919cf514ccSChristoph Hellwig	depends on NFSD_V4
9281c39329SChristoph Hellwig	select NFSD_PNFS
939cf514ccSChristoph Hellwig	help
9481c39329SChristoph Hellwig	  This option enables support for the exporting pNFS block layouts
9581c39329SChristoph Hellwig	  in the kernel's NFS server. The pNFS block layout enables NFS
9681c39329SChristoph Hellwig	  clients to directly perform I/O to block devices accesible to both
9781c39329SChristoph Hellwig	  the server and the clients.  See RFC 5663 for more details.
989cf514ccSChristoph Hellwig
999cf514ccSChristoph Hellwig	  If unsure, say N.
1009cf514ccSChristoph Hellwig
101*f99d4fbdSChristoph Hellwigconfig NFSD_SCSILAYOUT
102*f99d4fbdSChristoph Hellwig	bool "NFSv4.1 server support for pNFS SCSI layouts"
103*f99d4fbdSChristoph Hellwig	depends on NFSD_V4
104*f99d4fbdSChristoph Hellwig	select NFSD_PNFS
105*f99d4fbdSChristoph Hellwig	help
106*f99d4fbdSChristoph Hellwig	  This option enables support for the exporting pNFS SCSI layouts
107*f99d4fbdSChristoph Hellwig	  in the kernel's NFS server. The pNFS SCSI layout enables NFS
108*f99d4fbdSChristoph Hellwig	  clients to directly perform I/O to SCSI devices accesible to both
109*f99d4fbdSChristoph Hellwig	  the server and the clients.  See draft-ietf-nfsv4-scsi-layout for
110*f99d4fbdSChristoph Hellwig	  more details.
111*f99d4fbdSChristoph Hellwig
112*f99d4fbdSChristoph Hellwig	  If unsure, say N.
113*f99d4fbdSChristoph Hellwig
11418032ca0SDavid Quigleyconfig NFSD_V4_SECURITY_LABEL
11518032ca0SDavid Quigley	bool "Provide Security Label support for NFSv4 server"
11618032ca0SDavid Quigley	depends on NFSD_V4 && SECURITY
11718032ca0SDavid Quigley	help
11818032ca0SDavid Quigley
11918032ca0SDavid Quigley	Say Y here if you want enable fine-grained security label attribute
12018032ca0SDavid Quigley	support for NFS version 4.  Security labels allow security modules like
12118032ca0SDavid Quigley	SELinux and Smack to label files to facilitate enforcement of their policies.
12218032ca0SDavid Quigley	Without this an NFSv4 mount will have the same label on each file.
12318032ca0SDavid Quigley
12418032ca0SDavid Quigley	If you do not wish to enable fine-grained security labels SELinux or
12518032ca0SDavid Quigley	Smack policies on NFSv4 files, say N.
12618032ca0SDavid Quigley
12765178db4SBryan Schumakerconfig NFSD_FAULT_INJECTION
12865178db4SBryan Schumaker	bool "NFS server manual fault injection"
129629b8729SChengyu Song	depends on NFSD_V4 && DEBUG_KERNEL && DEBUG_FS
13065178db4SBryan Schumaker	help
13165178db4SBryan Schumaker	  This option enables support for manually injecting faults
13265178db4SBryan Schumaker	  into the NFS server.  This is intended to be used for
13365178db4SBryan Schumaker	  testing error recovery on the NFS client.
13465178db4SBryan Schumaker
13565178db4SBryan Schumaker	  If unsure, say N.
136