aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4client.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-07-31 21:45:44 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-07-31 21:45:44 -0400
commit6dbb35b0a74b44b2a48a5373d48074c5aa69fdf5 (patch)
tree4afb5eec521659e19c9d2343c2431054a082eb06 /fs/nfs/nfs4client.c
parentfd37ce34bd512f2b1a503f82abf8768da556a955 (diff)
parentad0fcd4eb68059de02e1766948263c71b8a5b1dc (diff)
Merge tag 'nfs-for-3.6-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
Pull second wave of NFS client updates from Trond Myklebust: - Patches from Bryan to allow splitting of the NFSv2/v3/v4 code into separate modules. - Fix Oopses in the NFSv4 idmapper - Fix a deadlock whereby rpciod tries to allocate a new socket and ends up recursing into the NFS code due to memory reclaim. - Increase the number of permitted callback connections. * tag 'nfs-for-3.6-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: nfs: explicitly reject LOCK_MAND flock() requests nfs: increase number of permitted callback connections. SUNRPC: return negative value in case rpcbind client creation error NFS: Convert v4 into a module NFS: Convert v3 into a module NFS: Convert v2 into a module NFS: Keep module parameters in the generic NFS client NFS: Split out remaining NFS v4 inode functions NFS: Pass super operations and xattr handlers in the nfs_subversion NFS: Only initialize the ACL client in the v3 case NFS: Create a try_mount rpc op NFS: Remove the NFS v4 xdev mount function NFS: Add version registering framework NFS: Fix a number of bugs in the idmapper nfs: skip commit in releasepage if we're freeing memory for fs-related reasons sunrpc: clarify comments on rpc_make_runnable pnfsblock: bail out partial page IO
Diffstat (limited to 'fs/nfs/nfs4client.c')
-rw-r--r--fs/nfs/nfs4client.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c
index 1c3f13c8e472..cbcdfaf32505 100644
--- a/fs/nfs/nfs4client.c
+++ b/fs/nfs/nfs4client.c
@@ -18,11 +18,6 @@
18#define NFSDBG_FACILITY NFSDBG_CLIENT 18#define NFSDBG_FACILITY NFSDBG_CLIENT
19 19
20/* 20/*
21 * Turn off NFSv4 uid/gid mapping when using AUTH_SYS
22 */
23static bool nfs4_disable_idmapping = true;
24
25/*
26 * Get a unique NFSv4.0 callback identifier which will be used 21 * Get a unique NFSv4.0 callback identifier which will be used
27 * by the V4.0 callback service to lookup the nfs_client struct 22 * by the V4.0 callback service to lookup the nfs_client struct
28 */ 23 */
@@ -357,7 +352,7 @@ static int nfs4_set_client(struct nfs_server *server,
357 .hostname = hostname, 352 .hostname = hostname,
358 .addr = addr, 353 .addr = addr,
359 .addrlen = addrlen, 354 .addrlen = addrlen,
360 .rpc_ops = &nfs_v4_clientops, 355 .nfs_mod = &nfs_v4,
361 .proto = proto, 356 .proto = proto,
362 .minorversion = minorversion, 357 .minorversion = minorversion,
363 .net = net, 358 .net = net,
@@ -411,7 +406,7 @@ struct nfs_client *nfs4_set_ds_client(struct nfs_client* mds_clp,
411 struct nfs_client_initdata cl_init = { 406 struct nfs_client_initdata cl_init = {
412 .addr = ds_addr, 407 .addr = ds_addr,
413 .addrlen = ds_addrlen, 408 .addrlen = ds_addrlen,
414 .rpc_ops = &nfs_v4_clientops, 409 .nfs_mod = &nfs_v4,
415 .proto = ds_proto, 410 .proto = ds_proto,
416 .minorversion = mds_clp->cl_minorversion, 411 .minorversion = mds_clp->cl_minorversion,
417 .net = mds_clp->cl_net, 412 .net = mds_clp->cl_net,
@@ -574,8 +569,10 @@ error:
574 * Create a version 4 volume record 569 * Create a version 4 volume record
575 * - keyed on server and FSID 570 * - keyed on server and FSID
576 */ 571 */
577struct nfs_server *nfs4_create_server(const struct nfs_parsed_mount_data *data, 572/*struct nfs_server *nfs4_create_server(const struct nfs_parsed_mount_data *data,
578 struct nfs_fh *mntfh) 573 struct nfs_fh *mntfh)*/
574struct nfs_server *nfs4_create_server(struct nfs_mount_info *mount_info,
575 struct nfs_subversion *nfs_mod)
579{ 576{
580 struct nfs_server *server; 577 struct nfs_server *server;
581 int error; 578 int error;
@@ -587,11 +584,11 @@ struct nfs_server *nfs4_create_server(const struct nfs_parsed_mount_data *data,
587 return ERR_PTR(-ENOMEM); 584 return ERR_PTR(-ENOMEM);
588 585
589 /* set up the general RPC client */ 586 /* set up the general RPC client */
590 error = nfs4_init_server(server, data); 587 error = nfs4_init_server(server, mount_info->parsed);
591 if (error < 0) 588 if (error < 0)
592 goto error; 589 goto error;
593 590
594 error = nfs4_server_common_setup(server, mntfh); 591 error = nfs4_server_common_setup(server, mount_info->mntfh);
595 if (error < 0) 592 if (error < 0)
596 goto error; 593 goto error;
597 594
@@ -657,7 +654,3 @@ error:
657 dprintk("<-- nfs4_create_referral_server() = error %d\n", error); 654 dprintk("<-- nfs4_create_referral_server() = error %d\n", error);
658 return ERR_PTR(error); 655 return ERR_PTR(error);
659} 656}
660
661module_param(nfs4_disable_idmapping, bool, 0644);
662MODULE_PARM_DESC(nfs4_disable_idmapping,
663 "Turn off NFSv4 idmapping when using 'sec=sys'");