aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/client.c
diff options
context:
space:
mode:
authorAndy Adamson <andros@netapp.com>2012-04-27 17:53:45 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2012-05-19 17:54:20 -0400
commit98fc685ae2aa24eae98526e9196b3229d519083a (patch)
treeb6700253e6b724f51694ae9b69c60700f4658ab6 /fs/nfs/client.c
parent9f0ec176b3071e0472582c07ae1e68055b28184d (diff)
NFSv4.1 data server timeo and retrans module parameters
Set the recovery parameters for data servers. Signed-off-by: Andy Adamson <andros@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/client.c')
-rw-r--r--fs/nfs/client.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 8f1c65210af..b4e2199c32b 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -1477,8 +1477,8 @@ error:
* the MDS.
*/
struct nfs_client *nfs4_set_ds_client(struct nfs_client* mds_clp,
- const struct sockaddr *ds_addr,
- int ds_addrlen, int ds_proto)
+ const struct sockaddr *ds_addr, int ds_addrlen,
+ int ds_proto, unsigned int ds_timeo, unsigned int ds_retrans)
{
struct nfs_client_initdata cl_init = {
.addr = ds_addr,
@@ -1488,12 +1488,7 @@ struct nfs_client *nfs4_set_ds_client(struct nfs_client* mds_clp,
.minorversion = mds_clp->cl_minorversion,
.net = mds_clp->net,
};
- struct rpc_timeout ds_timeout = {
- .to_initval = 15 * HZ,
- .to_maxval = 15 * HZ,
- .to_retries = 1,
- .to_exponential = 1,
- };
+ struct rpc_timeout ds_timeout;
struct nfs_client *clp;
/*
@@ -1501,6 +1496,7 @@ struct nfs_client *nfs4_set_ds_client(struct nfs_client* mds_clp,
* cl_ipaddr so as to use the same EXCHANGE_ID co_ownerid as the MDS
* (section 13.1 RFC 5661).
*/
+ nfs_init_timeout_values(&ds_timeout, ds_proto, ds_timeo, ds_retrans);
clp = nfs_get_client(&cl_init, &ds_timeout, mds_clp->cl_ipaddr,
mds_clp->cl_rpcclient->cl_auth->au_flavor, 0);