From 1ea489dbcabe3ed26341213c522d9c9c57bf6f05 Mon Sep 17 00:00:00 2001 From: "J. Bruce Fields" Date: Thu, 19 Oct 2006 23:28:39 -0700 Subject: [PATCH] --- yaml --- r: 39979 b: refs/heads/master c: 7d9ac06f26fe8d477c813405f1a8c7c90eecef2d h: refs/heads/master i: 39977: b6515d5ccf42456b57de781cb6a001e20d6b08fe 39975: 5ee0deaf1b845a04c9eeea4964c93affe20722ec v: v3 --- [refs] | 2 +- trunk/fs/nfs/client.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index d03d4bcad2d9..cd39dca2bcda 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: eda3cef8dd2b83875affe82595db9d0c278879b2 +refs/heads/master: 7d9ac06f26fe8d477c813405f1a8c7c90eecef2d diff --git a/trunk/fs/nfs/client.c b/trunk/fs/nfs/client.c index 34c3996bd0f5..8b123f6a7d02 100644 --- a/trunk/fs/nfs/client.c +++ b/trunk/fs/nfs/client.c @@ -849,6 +849,7 @@ struct nfs_server *nfs_create_server(const struct nfs_mount_data *data, */ static int nfs4_init_client(struct nfs_client *clp, int proto, int timeo, int retrans, + const char *ip_addr, rpc_authflavor_t authflavour) { int error; @@ -865,6 +866,7 @@ static int nfs4_init_client(struct nfs_client *clp, error = nfs_create_rpc_client(clp, proto, timeo, retrans, authflavour); if (error < 0) goto error; + memcpy(clp->cl_ipaddr, ip_addr, sizeof(clp->cl_ipaddr)); error = nfs_idmap_new(clp); if (error < 0) { @@ -888,6 +890,7 @@ static int nfs4_init_client(struct nfs_client *clp, */ static int nfs4_set_client(struct nfs_server *server, const char *hostname, const struct sockaddr_in *addr, + const char *ip_addr, rpc_authflavor_t authflavour, int proto, int timeo, int retrans) { @@ -902,7 +905,7 @@ static int nfs4_set_client(struct nfs_server *server, error = PTR_ERR(clp); goto error; } - error = nfs4_init_client(clp, proto, timeo, retrans, authflavour); + error = nfs4_init_client(clp, proto, timeo, retrans, ip_addr, authflavour); if (error < 0) goto error_put; @@ -971,7 +974,7 @@ struct nfs_server *nfs4_create_server(const struct nfs4_mount_data *data, return ERR_PTR(-ENOMEM); /* Get a client record */ - error = nfs4_set_client(server, hostname, addr, authflavour, + error = nfs4_set_client(server, hostname, addr, ip_addr, authflavour, data->proto, data->timeo, data->retrans); if (error < 0) goto error; @@ -1041,6 +1044,7 @@ struct nfs_server *nfs4_create_referral_server(struct nfs_clone_mount *data, /* Get a client representation. * Note: NFSv4 always uses TCP, */ error = nfs4_set_client(server, data->hostname, data->addr, + parent_client->cl_ipaddr, data->authflavor, parent_server->client->cl_xprt->prot, parent_client->retrans_timeo,