Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a71e3604 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'nfsd-4.8' of git://linux-nfs.org/~bfields/linux

Pull nfsd updates from Bruce Fields:
 "Highlights:

   - Trond made a change to the server's tcp logic that allows a fast
     client to better take advantage of high bandwidth networks, but may
     increase the risk that a single client could starve other clients;
     a new sunrpc.svc_rpc_per_connection_limit parameter should help
     mitigate this in the (hopefully unlikely) event this becomes a
     problem in practice.

   - Tom Haynes added a minimal flex-layout pnfs server, which is of no
     use in production for now--don't build it unless you're doing
     client testing or further server development"

* tag 'nfsd-4.8' of git://linux-nfs.org/~bfields/linux: (32 commits)
  nfsd: remove some dead code in nfsd_create_locked()
  nfsd: drop unnecessary MAY_EXEC check from create
  nfsd: clean up bad-type check in nfsd_create_locked
  nfsd: remove unnecessary positive-dentry check
  nfsd: reorganize nfsd_create
  nfsd: check d_can_lookup in fh_verify of directories
  nfsd: remove redundant zero-length check from create
  nfsd: Make creates return EEXIST instead of EACCES
  SUNRPC: Detect immediate closure of accepted sockets
  SUNRPC: accept() may return sockets that are still in SYN_RECV
  nfsd: allow nfsd to advertise multiple layout types
  nfsd: Close race between nfsd4_release_lockowner and nfsd4_lock
  nfsd/blocklayout: Make sure calculate signature/designator length aligned
  xfs: abstract block export operations from nfsd layouts
  SUNRPC: Remove unused callback xpo_adjust_wspace()
  SUNRPC: Change TCP socket space reservation
  SUNRPC: Add a server side per-connection limit
  SUNRPC: Micro optimisation for svc_data_ready
  SUNRPC: Call the default socket callbacks instead of open coding
  SUNRPC: lock the socket while detaching it
  ...
parents d58b0d98 2b118859
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -3877,6 +3877,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
			using these two parameters to set the minimum and
			maximum port values.

	sunrpc.svc_rpc_per_connection_limit=
			[NFS,SUNRPC]
			Limit the number of requests that the server will
			process in parallel from a single connection.
			The default value is 0 (no limit).

	sunrpc.pool_mode=
			[NFS]
			Control how the NFS server code allocates CPUs to
+6 −0
Original line number Diff line number Diff line
@@ -70,6 +70,12 @@ config FS_POSIX_ACL
config EXPORTFS
	tristate

config EXPORTFS_BLOCK_OPS
	bool "Enable filesystem export operations for block IO"
	help
	  This option enables the export operations for a filesystem to support
	  external block IO.

config FILE_LOCKING
	bool "Enable POSIX file locking API" if EXPERT
	default y
+19 −0
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ 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
@@ -102,6 +103,7 @@ 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
@@ -111,6 +113,23 @@ config NFSD_SCSILAYOUT

	  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
	  accesible 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_SECURITY_LABEL
	bool "Provide Security Label support for NFSv4 server"
	depends on NFSD_V4 && SECURITY
+1 −0
Original line number Diff line number Diff line
@@ -20,3 +20,4 @@ nfsd-$(CONFIG_NFSD_V4) += nfs4proc.o nfs4xdr.o nfs4state.o nfs4idmap.o \
nfsd-$(CONFIG_NFSD_PNFS) += nfs4layouts.o
nfsd-$(CONFIG_NFSD_BLOCKLAYOUT) += blocklayout.o blocklayoutxdr.o
nfsd-$(CONFIG_NFSD_SCSILAYOUT) += blocklayout.o blocklayoutxdr.o
nfsd-$(CONFIG_NFSD_FLEXFILELAYOUT) += flexfilelayout.o flexfilelayoutxdr.o
+2 −0
Original line number Diff line number Diff line
@@ -163,6 +163,7 @@ nfsd4_block_get_device_info_simple(struct super_block *sb,

static __be32
nfsd4_block_proc_getdeviceinfo(struct super_block *sb,
		struct svc_rqst *rqstp,
		struct nfs4_client *clp,
		struct nfsd4_getdeviceinfo *gdp)
{
@@ -355,6 +356,7 @@ nfsd4_block_get_device_info_scsi(struct super_block *sb,

static __be32
nfsd4_scsi_proc_getdeviceinfo(struct super_block *sb,
		struct svc_rqst *rqstp,
		struct nfs4_client *clp,
		struct nfsd4_getdeviceinfo *gdp)
{
Loading