aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/client.c')
-rw-r--r--fs/nfs/client.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 99694442b93f..143149db3440 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -668,7 +668,8 @@ int nfs_init_server_rpcclient(struct nfs_server *server,
668{ 668{
669 struct nfs_client *clp = server->nfs_client; 669 struct nfs_client *clp = server->nfs_client;
670 670
671 server->client = rpc_clone_client(clp->cl_rpcclient); 671 server->client = rpc_clone_client_set_auth(clp->cl_rpcclient,
672 pseudoflavour);
672 if (IS_ERR(server->client)) { 673 if (IS_ERR(server->client)) {
673 dprintk("%s: couldn't create rpc_client!\n", __func__); 674 dprintk("%s: couldn't create rpc_client!\n", __func__);
674 return PTR_ERR(server->client); 675 return PTR_ERR(server->client);
@@ -678,16 +679,6 @@ int nfs_init_server_rpcclient(struct nfs_server *server,
678 timeo, 679 timeo,
679 sizeof(server->client->cl_timeout_default)); 680 sizeof(server->client->cl_timeout_default));
680 server->client->cl_timeout = &server->client->cl_timeout_default; 681 server->client->cl_timeout = &server->client->cl_timeout_default;
681
682 if (pseudoflavour != clp->cl_rpcclient->cl_auth->au_flavor) {
683 struct rpc_auth *auth;
684
685 auth = rpcauth_create(pseudoflavour, server->client);
686 if (IS_ERR(auth)) {
687 dprintk("%s: couldn't create credcache!\n", __func__);
688 return PTR_ERR(auth);
689 }
690 }
691 server->client->cl_softrtry = 0; 682 server->client->cl_softrtry = 0;
692 if (server->flags & NFS_MOUNT_SOFT) 683 if (server->flags & NFS_MOUNT_SOFT)
693 server->client->cl_softrtry = 1; 684 server->client->cl_softrtry = 1;