mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 06:04:23 +08:00
4806ded4c1
Common nfs_stat_to_errno() is used by both fs/nfs/nfs2xdr.c and fs/nfs/nfs3xdr.c Will also be used by fs/nfsd/localio.c Signed-off-by: Mike Snitzer <snitzer@kernel.org> Reviewed-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: NeilBrown <neilb@suse.de> Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
178 lines
6.0 KiB
Plaintext
178 lines
6.0 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config NFSD
|
|
tristate "NFS server support"
|
|
depends on INET
|
|
depends on FILE_LOCKING
|
|
depends on FSNOTIFY
|
|
select LOCKD
|
|
select SUNRPC
|
|
select EXPORTFS
|
|
select NFS_COMMON
|
|
select NFS_ACL_SUPPORT if NFSD_V2_ACL
|
|
select NFS_ACL_SUPPORT if NFSD_V3_ACL
|
|
depends on MULTIUSER
|
|
help
|
|
Choose Y here if you want to allow other computers to access
|
|
files residing on this system using Sun's Network File System
|
|
protocol. To compile the NFS server support as a module,
|
|
choose M here: the module will be called nfsd.
|
|
|
|
You may choose to use a user-space NFS server instead, in which
|
|
case you can choose N here.
|
|
|
|
To export local file systems using NFS, you also need to install
|
|
user space programs which can be found in the Linux nfs-utils
|
|
package, available from http://linux-nfs.org/. More detail about
|
|
the Linux NFS server implementation is available via the
|
|
exports(5) man page.
|
|
|
|
Below you can choose which versions of the NFS protocol are
|
|
available to clients mounting the NFS server on this system.
|
|
Support for NFS version 3 (RFC 1813) is always available when
|
|
CONFIG_NFSD is selected.
|
|
|
|
If unsure, say N.
|
|
|
|
config NFSD_V2
|
|
bool "NFS server support for NFS version 2 (DEPRECATED)"
|
|
depends on NFSD
|
|
default n
|
|
help
|
|
NFSv2 (RFC 1094) was the first publicly-released version of NFS.
|
|
Unless you are hosting ancient (1990's era) NFS clients, you don't
|
|
need this.
|
|
|
|
If unsure, say N.
|
|
|
|
config NFSD_V2_ACL
|
|
bool "NFS server support for the NFSv2 ACL protocol extension"
|
|
depends on NFSD_V2
|
|
|
|
config NFSD_V3_ACL
|
|
bool "NFS server support for the NFSv3 ACL protocol extension"
|
|
depends on NFSD
|
|
help
|
|
Solaris NFS servers support an auxiliary NFSv3 ACL protocol that
|
|
never became an official part of the NFS version 3 protocol.
|
|
This protocol extension allows applications on NFS clients to
|
|
manipulate POSIX Access Control Lists on files residing on NFS
|
|
servers. NFS servers enforce POSIX ACLs on local files whether
|
|
this protocol is available or not.
|
|
|
|
This option enables support in your system's NFS server for the
|
|
NFSv3 ACL protocol extension allowing NFS clients to manipulate
|
|
POSIX ACLs on files exported by your system's NFS server. NFS
|
|
clients which support the Solaris NFSv3 ACL protocol can then
|
|
access and modify ACLs on your NFS server.
|
|
|
|
To store ACLs on your NFS server, you also need to enable ACL-
|
|
related CONFIG options for your local file systems of choice.
|
|
|
|
If unsure, say N.
|
|
|
|
config NFSD_V4
|
|
bool "NFS server support for NFS version 4"
|
|
depends on NFSD && PROC_FS
|
|
select FS_POSIX_ACL
|
|
select RPCSEC_GSS_KRB5
|
|
select CRYPTO
|
|
select CRYPTO_MD5
|
|
select CRYPTO_SHA256
|
|
select GRACE_PERIOD
|
|
select NFS_V4_2_SSC_HELPER if NFS_V4_2
|
|
help
|
|
This option enables support in your system's NFS server for
|
|
version 4 of the NFS protocol (RFC 3530).
|
|
|
|
To export files using NFSv4, you need to install additional user
|
|
space programs which can be found in the Linux nfs-utils package,
|
|
available from http://linux-nfs.org/.
|
|
|
|
If unsure, say N.
|
|
|
|
config NFSD_PNFS
|
|
bool
|
|
|
|
config NFSD_BLOCKLAYOUT
|
|
bool "NFSv4.1 server support for pNFS block layouts"
|
|
depends on NFSD_V4 && BLOCK
|
|
select NFSD_PNFS
|
|
select EXPORTFS_BLOCK_OPS
|
|
help
|
|
This option enables support for the exporting pNFS block layouts
|
|
in the kernel's NFS server. The pNFS block layout enables NFS
|
|
clients to directly perform I/O to block devices accessible to both
|
|
the server and the clients. See RFC 5663 for more details.
|
|
|
|
If unsure, say N.
|
|
|
|
config NFSD_SCSILAYOUT
|
|
bool "NFSv4.1 server support for pNFS SCSI layouts"
|
|
depends on NFSD_V4 && BLOCK
|
|
select NFSD_PNFS
|
|
select EXPORTFS_BLOCK_OPS
|
|
help
|
|
This option enables support for the exporting pNFS SCSI layouts
|
|
in the kernel's NFS server. The pNFS SCSI layout enables NFS
|
|
clients to directly perform I/O to SCSI devices accessible to both
|
|
the server and the clients. See draft-ietf-nfsv4-scsi-layout for
|
|
more details.
|
|
|
|
If unsure, say N.
|
|
|
|
config NFSD_FLEXFILELAYOUT
|
|
bool "NFSv4.1 server support for pNFS Flex File layouts"
|
|
depends on NFSD_V4
|
|
select NFSD_PNFS
|
|
help
|
|
This option enables support for the exporting pNFS Flex File
|
|
layouts in the kernel's NFS server. The pNFS Flex File layout
|
|
enables NFS clients to directly perform I/O to NFSv3 devices
|
|
accessible to both the server and the clients. See
|
|
draft-ietf-nfsv4-flex-files for more details.
|
|
|
|
Warning, this server implements the bare minimum functionality
|
|
to be a flex file server - it is for testing the client,
|
|
not for use in production.
|
|
|
|
If unsure, say N.
|
|
|
|
config NFSD_V4_2_INTER_SSC
|
|
bool "NFSv4.2 inter server to server COPY"
|
|
depends on NFSD_V4 && NFS_V4_2
|
|
help
|
|
This option enables support for NFSv4.2 inter server to
|
|
server copy where the destination server calls the NFSv4.2
|
|
client to read the data to copy from the source server.
|
|
|
|
If unsure, say N.
|
|
|
|
config NFSD_V4_SECURITY_LABEL
|
|
bool "Provide Security Label support for NFSv4 server"
|
|
depends on NFSD_V4 && SECURITY
|
|
help
|
|
|
|
Say Y here if you want enable fine-grained security label attribute
|
|
support for NFS version 4. Security labels allow security modules like
|
|
SELinux and Smack to label files to facilitate enforcement of their policies.
|
|
Without this an NFSv4 mount will have the same label on each file.
|
|
|
|
If you do not wish to enable fine-grained security labels SELinux or
|
|
Smack policies on NFSv4 files, say N.
|
|
|
|
config NFSD_LEGACY_CLIENT_TRACKING
|
|
bool "Support legacy NFSv4 client tracking methods (DEPRECATED)"
|
|
depends on NFSD_V4
|
|
default y
|
|
help
|
|
The NFSv4 server needs to store a small amount of information on
|
|
stable storage in order to handle state recovery after reboot. Most
|
|
modern deployments upcall to a userland daemon for this (nfsdcld),
|
|
but older NFS servers may store information directly in a
|
|
recoverydir, or spawn a process directly using a usermodehelper
|
|
upcall.
|
|
|
|
These legacy client tracking methods have proven to be probelmatic
|
|
and will be removed in the future. Say Y here if you need support
|
|
for them in the interim.
|