|
@@ -426,7 +426,7 @@ EXPORT_SYMBOL_GPL(nfs_mark_client_ready);
|
|
|
* Initialise the timeout values for a connection
|
|
|
*/
|
|
|
void nfs_init_timeout_values(struct rpc_timeout *to, int proto,
|
|
|
- unsigned int timeo, unsigned int retrans)
|
|
|
+ int timeo, int retrans)
|
|
|
{
|
|
|
to->to_initval = timeo * HZ / 10;
|
|
|
to->to_retries = retrans;
|
|
@@ -434,9 +434,9 @@ void nfs_init_timeout_values(struct rpc_timeout *to, int proto,
|
|
|
switch (proto) {
|
|
|
case XPRT_TRANSPORT_TCP:
|
|
|
case XPRT_TRANSPORT_RDMA:
|
|
|
- if (to->to_retries == 0)
|
|
|
+ if (retrans == NFS_UNSPEC_RETRANS)
|
|
|
to->to_retries = NFS_DEF_TCP_RETRANS;
|
|
|
- if (to->to_initval == 0)
|
|
|
+ if (timeo == NFS_UNSPEC_TIMEO || to->to_retries == 0)
|
|
|
to->to_initval = NFS_DEF_TCP_TIMEO * HZ / 10;
|
|
|
if (to->to_initval > NFS_MAX_TCP_TIMEOUT)
|
|
|
to->to_initval = NFS_MAX_TCP_TIMEOUT;
|
|
@@ -449,9 +449,9 @@ void nfs_init_timeout_values(struct rpc_timeout *to, int proto,
|
|
|
to->to_exponential = 0;
|
|
|
break;
|
|
|
case XPRT_TRANSPORT_UDP:
|
|
|
- if (to->to_retries == 0)
|
|
|
+ if (retrans == NFS_UNSPEC_RETRANS)
|
|
|
to->to_retries = NFS_DEF_UDP_RETRANS;
|
|
|
- if (!to->to_initval)
|
|
|
+ if (timeo == NFS_UNSPEC_TIMEO || to->to_initval == 0)
|
|
|
to->to_initval = NFS_DEF_UDP_TIMEO * HZ / 10;
|
|
|
if (to->to_initval > NFS_MAX_UDP_TIMEOUT)
|
|
|
to->to_initval = NFS_MAX_UDP_TIMEOUT;
|