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

Commit 1fad1e9a authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull NFS client updates from Trond Myklebust:
 "Features include:
   - More preparatory patches for modularising NFSv2/v3/v4.  Split out
     the various NFSv2/v3/v4-specific code into separate files
   - More preparation for the NFSv4 migration code
   - Ensure that OPEN(O_CREATE) observes the pNFS mds threshold
     parameters
   - pNFS fast failover when the data servers are down
   - Various cleanups and debugging patches"

* tag 'nfs-for-3.6-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (67 commits)
  nfs: fix fl_type tests in NFSv4 code
  NFS: fix pnfs regression with directio writes
  NFS: fix pnfs regression with directio reads
  sunrpc: clnt: Add missing braces
  nfs: fix stub return type warnings
  NFS: exit_nfs_v4() shouldn't be an __exit function
  SUNRPC: Add a missing spin_unlock to gss_mech_list_pseudoflavors
  NFS: Split out NFS v4 client functions
  NFS: Split out the NFS v4 filesystem types
  NFS: Create a single nfs_clone_super() function
  NFS: Split out NFS v4 server creating code
  NFS: Initialize the NFS v4 client from init_nfs_v4()
  NFS: Move the v4 getroot code to nfs4getroot.c
  NFS: Split out NFS v4 file operations
  NFS: Initialize v4 sysctls from nfs_init_v4()
  NFS: Create an init_nfs_v4() function
  NFS: Split out NFS v4 inode operations
  NFS: Split out NFS v3 inode operations
  NFS: Split out NFS v2 inode operations
  NFS: Clean up nfs4_proc_setclientid() and friends
  ...
parents bbeb0af2 f44106e2
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -88,9 +88,8 @@ config NFS_V4

config NFS_V4_1
	bool "NFS client support for NFSv4.1 (EXPERIMENTAL)"
	depends on NFS_FS && NFS_V4 && EXPERIMENTAL
	depends on NFS_V4 && EXPERIMENTAL
	select SUNRPC_BACKCHANNEL
	select PNFS_FILE_LAYOUT
	help
	  This option enables support for minor version 1 of the NFSv4 protocol
	  (RFC 5661) in the kernel's NFS client.
@@ -99,15 +98,17 @@ config NFS_V4_1

config PNFS_FILE_LAYOUT
	tristate
	depends on NFS_V4_1
	default m

config PNFS_BLOCK
	tristate
	depends on NFS_FS && NFS_V4_1 && BLK_DEV_DM
	depends on NFS_V4_1 && BLK_DEV_DM
	default m

config PNFS_OBJLAYOUT
	tristate
	depends on NFS_FS && NFS_V4_1 && SCSI_OSD_ULD
	depends on NFS_V4_1 && SCSI_OSD_ULD
	default m

config NFS_V4_1_IMPLEMENTATION_ID_DOMAIN
+8 −3
Original line number Diff line number Diff line
@@ -13,11 +13,16 @@ nfs-$(CONFIG_NFS_V2) += proc.o nfs2xdr.o
nfs-$(CONFIG_NFS_V3)	+= nfs3proc.o nfs3xdr.o
nfs-$(CONFIG_NFS_V3_ACL)	+= nfs3acl.o
nfs-$(CONFIG_NFS_V4)	+= nfs4proc.o nfs4xdr.o nfs4state.o nfs4renewd.o \
			   delegation.o idmap.o \
			   nfs4super.o nfs4file.o delegation.o idmap.o \
			   callback.o callback_xdr.o callback_proc.o \
			   nfs4namespace.o
			   nfs4namespace.o nfs4getroot.o nfs4client.o
nfs-$(CONFIG_NFS_V4_1)	+= pnfs.o pnfs_dev.o
nfs-$(CONFIG_SYSCTL) += sysctl.o

ifeq ($(CONFIG_SYSCTL), y)
nfs-y += sysctl.o
nfs-$(CONFIG_NFS_V4) += nfs4sysctl.o
endif

nfs-$(CONFIG_NFS_FSCACHE) += fscache.o fscache-index.o

obj-$(CONFIG_PNFS_FILE_LAYOUT) += nfs_layout_nfsv41_files.o
+17 −668

File changed.

Preview size limit exceeded, changes collapsed.

+3 −4
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ void nfs_mark_delegation_referenced(struct nfs_delegation *delegation)
 *
 * Returns one if inode has the indicated delegation, otherwise zero.
 */
int nfs_have_delegation(struct inode *inode, fmode_t flags)
int nfs4_have_delegation(struct inode *inode, fmode_t flags)
{
	struct nfs_delegation *delegation;
	int ret = 0;
@@ -388,7 +388,7 @@ void nfs_inode_return_delegation_noreclaim(struct inode *inode)
 *
 * Returns zero on success, or a negative errno value.
 */
int nfs_inode_return_delegation(struct inode *inode)
int nfs4_inode_return_delegation(struct inode *inode)
{
	struct nfs_server *server = NFS_SERVER(inode);
	struct nfs_inode *nfsi = NFS_I(inode);
@@ -417,9 +417,8 @@ static void nfs_mark_return_delegation(struct nfs_server *server,
 * @sb: sb to process
 *
 */
void nfs_super_return_all_delegations(struct super_block *sb)
void nfs_server_return_all_delegations(struct nfs_server *server)
{
	struct nfs_server *server = NFS_SB(sb);
	struct nfs_client *clp = server->nfs_client;
	struct nfs_delegation *delegation;

+4 −15

File changed.

Preview size limit exceeded, changes collapsed.

Loading