xref: /OK3568_Linux_fs/kernel/fs/nfsd/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyunconfig NFSD
3*4882a593Smuzhiyun	tristate "NFS server support"
4*4882a593Smuzhiyun	depends on INET
5*4882a593Smuzhiyun	depends on FILE_LOCKING
6*4882a593Smuzhiyun	depends on FSNOTIFY
7*4882a593Smuzhiyun	select LOCKD
8*4882a593Smuzhiyun	select SUNRPC
9*4882a593Smuzhiyun	select EXPORTFS
10*4882a593Smuzhiyun	select NFS_ACL_SUPPORT if NFSD_V2_ACL
11*4882a593Smuzhiyun	depends on MULTIUSER
12*4882a593Smuzhiyun	help
13*4882a593Smuzhiyun	  Choose Y here if you want to allow other computers to access
14*4882a593Smuzhiyun	  files residing on this system using Sun's Network File System
15*4882a593Smuzhiyun	  protocol.  To compile the NFS server support as a module,
16*4882a593Smuzhiyun	  choose M here: the module will be called nfsd.
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	  You may choose to use a user-space NFS server instead, in which
19*4882a593Smuzhiyun	  case you can choose N here.
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	  To export local file systems using NFS, you also need to install
22*4882a593Smuzhiyun	  user space programs which can be found in the Linux nfs-utils
23*4882a593Smuzhiyun	  package, available from http://linux-nfs.org/.  More detail about
24*4882a593Smuzhiyun	  the Linux NFS server implementation is available via the
25*4882a593Smuzhiyun	  exports(5) man page.
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	  Below you can choose which versions of the NFS protocol are
28*4882a593Smuzhiyun	  available to clients mounting the NFS server on this system.
29*4882a593Smuzhiyun	  Support for NFS version 2 (RFC 1094) is always available when
30*4882a593Smuzhiyun	  CONFIG_NFSD is selected.
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun	  If unsure, say N.
33*4882a593Smuzhiyun
34*4882a593Smuzhiyunconfig NFSD_V2_ACL
35*4882a593Smuzhiyun	bool
36*4882a593Smuzhiyun	depends on NFSD
37*4882a593Smuzhiyun
38*4882a593Smuzhiyunconfig NFSD_V3
39*4882a593Smuzhiyun	bool "NFS server support for NFS version 3"
40*4882a593Smuzhiyun	depends on NFSD
41*4882a593Smuzhiyun	help
42*4882a593Smuzhiyun	  This option enables support in your system's NFS server for
43*4882a593Smuzhiyun	  version 3 of the NFS protocol (RFC 1813).
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun	  If unsure, say Y.
46*4882a593Smuzhiyun
47*4882a593Smuzhiyunconfig NFSD_V3_ACL
48*4882a593Smuzhiyun	bool "NFS server support for the NFSv3 ACL protocol extension"
49*4882a593Smuzhiyun	depends on NFSD_V3
50*4882a593Smuzhiyun	select NFSD_V2_ACL
51*4882a593Smuzhiyun	help
52*4882a593Smuzhiyun	  Solaris NFS servers support an auxiliary NFSv3 ACL protocol that
53*4882a593Smuzhiyun	  never became an official part of the NFS version 3 protocol.
54*4882a593Smuzhiyun	  This protocol extension allows applications on NFS clients to
55*4882a593Smuzhiyun	  manipulate POSIX Access Control Lists on files residing on NFS
56*4882a593Smuzhiyun	  servers.  NFS servers enforce POSIX ACLs on local files whether
57*4882a593Smuzhiyun	  this protocol is available or not.
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun	  This option enables support in your system's NFS server for the
60*4882a593Smuzhiyun	  NFSv3 ACL protocol extension allowing NFS clients to manipulate
61*4882a593Smuzhiyun	  POSIX ACLs on files exported by your system's NFS server.  NFS
62*4882a593Smuzhiyun	  clients which support the Solaris NFSv3 ACL protocol can then
63*4882a593Smuzhiyun	  access and modify ACLs on your NFS server.
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun	  To store ACLs on your NFS server, you also need to enable ACL-
66*4882a593Smuzhiyun	  related CONFIG options for your local file systems of choice.
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun	  If unsure, say N.
69*4882a593Smuzhiyun
70*4882a593Smuzhiyunconfig NFSD_V4
71*4882a593Smuzhiyun	bool "NFS server support for NFS version 4"
72*4882a593Smuzhiyun	depends on NFSD && PROC_FS
73*4882a593Smuzhiyun	select NFSD_V3
74*4882a593Smuzhiyun	select FS_POSIX_ACL
75*4882a593Smuzhiyun	select SUNRPC_GSS
76*4882a593Smuzhiyun	select CRYPTO
77*4882a593Smuzhiyun	select CRYPTO_MD5
78*4882a593Smuzhiyun	select CRYPTO_SHA256
79*4882a593Smuzhiyun	select GRACE_PERIOD
80*4882a593Smuzhiyun	help
81*4882a593Smuzhiyun	  This option enables support in your system's NFS server for
82*4882a593Smuzhiyun	  version 4 of the NFS protocol (RFC 3530).
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun	  To export files using NFSv4, you need to install additional user
85*4882a593Smuzhiyun	  space programs which can be found in the Linux nfs-utils package,
86*4882a593Smuzhiyun	  available from http://linux-nfs.org/.
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun	  If unsure, say N.
89*4882a593Smuzhiyun
90*4882a593Smuzhiyunconfig NFSD_PNFS
91*4882a593Smuzhiyun	bool
92*4882a593Smuzhiyun
93*4882a593Smuzhiyunconfig NFSD_BLOCKLAYOUT
94*4882a593Smuzhiyun	bool "NFSv4.1 server support for pNFS block layouts"
95*4882a593Smuzhiyun	depends on NFSD_V4 && BLOCK
96*4882a593Smuzhiyun	select NFSD_PNFS
97*4882a593Smuzhiyun	select EXPORTFS_BLOCK_OPS
98*4882a593Smuzhiyun	help
99*4882a593Smuzhiyun	  This option enables support for the exporting pNFS block layouts
100*4882a593Smuzhiyun	  in the kernel's NFS server. The pNFS block layout enables NFS
101*4882a593Smuzhiyun	  clients to directly perform I/O to block devices accesible to both
102*4882a593Smuzhiyun	  the server and the clients.  See RFC 5663 for more details.
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun	  If unsure, say N.
105*4882a593Smuzhiyun
106*4882a593Smuzhiyunconfig NFSD_SCSILAYOUT
107*4882a593Smuzhiyun	bool "NFSv4.1 server support for pNFS SCSI layouts"
108*4882a593Smuzhiyun	depends on NFSD_V4 && BLOCK
109*4882a593Smuzhiyun	select NFSD_PNFS
110*4882a593Smuzhiyun	select EXPORTFS_BLOCK_OPS
111*4882a593Smuzhiyun	select BLK_SCSI_REQUEST
112*4882a593Smuzhiyun	help
113*4882a593Smuzhiyun	  This option enables support for the exporting pNFS SCSI layouts
114*4882a593Smuzhiyun	  in the kernel's NFS server. The pNFS SCSI layout enables NFS
115*4882a593Smuzhiyun	  clients to directly perform I/O to SCSI devices accesible to both
116*4882a593Smuzhiyun	  the server and the clients.  See draft-ietf-nfsv4-scsi-layout for
117*4882a593Smuzhiyun	  more details.
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun	  If unsure, say N.
120*4882a593Smuzhiyun
121*4882a593Smuzhiyunconfig NFSD_FLEXFILELAYOUT
122*4882a593Smuzhiyun	bool "NFSv4.1 server support for pNFS Flex File layouts"
123*4882a593Smuzhiyun	depends on NFSD_V4
124*4882a593Smuzhiyun	select NFSD_PNFS
125*4882a593Smuzhiyun	help
126*4882a593Smuzhiyun	  This option enables support for the exporting pNFS Flex File
127*4882a593Smuzhiyun	  layouts in the kernel's NFS server. The pNFS Flex File  layout
128*4882a593Smuzhiyun	  enables NFS clients to directly perform I/O to NFSv3 devices
129*4882a593Smuzhiyun	  accesible to both the server and the clients.  See
130*4882a593Smuzhiyun	  draft-ietf-nfsv4-flex-files for more details.
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun	  Warning, this server implements the bare minimum functionality
133*4882a593Smuzhiyun	  to be a flex file server - it is for testing the client,
134*4882a593Smuzhiyun	  not for use in production.
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun	  If unsure, say N.
137*4882a593Smuzhiyun
138*4882a593Smuzhiyunconfig NFSD_V4_2_INTER_SSC
139*4882a593Smuzhiyun	bool "NFSv4.2 inter server to server COPY"
140*4882a593Smuzhiyun	depends on NFSD_V4 && NFS_V4_1 && NFS_V4_2
141*4882a593Smuzhiyun	help
142*4882a593Smuzhiyun	  This option enables support for NFSv4.2 inter server to
143*4882a593Smuzhiyun	  server copy where the destination server calls the NFSv4.2
144*4882a593Smuzhiyun	  client to read the data to copy from the source server.
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun	  If unsure, say N.
147*4882a593Smuzhiyun
148*4882a593Smuzhiyunconfig NFSD_V4_SECURITY_LABEL
149*4882a593Smuzhiyun	bool "Provide Security Label support for NFSv4 server"
150*4882a593Smuzhiyun	depends on NFSD_V4 && SECURITY
151*4882a593Smuzhiyun	help
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun	Say Y here if you want enable fine-grained security label attribute
154*4882a593Smuzhiyun	support for NFS version 4.  Security labels allow security modules like
155*4882a593Smuzhiyun	SELinux and Smack to label files to facilitate enforcement of their policies.
156*4882a593Smuzhiyun	Without this an NFSv4 mount will have the same label on each file.
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun	If you do not wish to enable fine-grained security labels SELinux or
159*4882a593Smuzhiyun	Smack policies on NFSv4 files, say N.
160