2024-01-23 05:35:24

by Samasth Norway Ananda

[permalink] [raw]
Subject: [PATCH 1/1] NFSv4.1: Assign the right value for initval and retries for rpc timeout

Make sure the rpc timeout was assigned with the correct value for
initial timeout and max number of retries.

Fixes: 57331a59ac0d ("NFSv4.1: Use the nfs_client's rpc timeouts for backchannel")
Signed-off-by: Samasth Norway Ananda <[email protected]>
Reviewed-by: Benjamin Coddington <[email protected]>
---
net/sunrpc/svc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index f60c93e5a25d..b969e505c7b7 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -1598,10 +1598,10 @@ void svc_process_bc(struct rpc_rqst *req, struct svc_rqst *rqstp)
/* Finally, send the reply synchronously */
if (rqstp->bc_to_initval > 0) {
timeout.to_initval = rqstp->bc_to_initval;
- timeout.to_retries = rqstp->bc_to_initval;
+ timeout.to_retries = rqstp->bc_to_retries;
} else {
timeout.to_initval = req->rq_xprt->timeout->to_initval;
- timeout.to_initval = req->rq_xprt->timeout->to_retries;
+ timeout.to_retries = req->rq_xprt->timeout->to_retries;
}
memcpy(&req->rq_snd_buf, &rqstp->rq_res, sizeof(req->rq_snd_buf));
task = rpc_run_bc_task(req, &timeout);
--
2.42.0



2024-01-23 14:04:57

by Chuck Lever III

[permalink] [raw]
Subject: Re: [PATCH 1/1] NFSv4.1: Assign the right value for initval and retries for rpc timeout

On Mon, Jan 22, 2024 at 09:35:09PM -0800, Samasth Norway Ananda wrote:
> Make sure the rpc timeout was assigned with the correct value for
> initial timeout and max number of retries.
>
> Fixes: 57331a59ac0d ("NFSv4.1: Use the nfs_client's rpc timeouts for backchannel")
> Signed-off-by: Samasth Norway Ananda <[email protected]>
> Reviewed-by: Benjamin Coddington <[email protected]>

Reviewed-by: Chuck Lever <[email protected]>


> ---
> net/sunrpc/svc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
> index f60c93e5a25d..b969e505c7b7 100644
> --- a/net/sunrpc/svc.c
> +++ b/net/sunrpc/svc.c
> @@ -1598,10 +1598,10 @@ void svc_process_bc(struct rpc_rqst *req, struct svc_rqst *rqstp)
> /* Finally, send the reply synchronously */
> if (rqstp->bc_to_initval > 0) {
> timeout.to_initval = rqstp->bc_to_initval;
> - timeout.to_retries = rqstp->bc_to_initval;
> + timeout.to_retries = rqstp->bc_to_retries;
> } else {
> timeout.to_initval = req->rq_xprt->timeout->to_initval;
> - timeout.to_initval = req->rq_xprt->timeout->to_retries;
> + timeout.to_retries = req->rq_xprt->timeout->to_retries;
> }
> memcpy(&req->rq_snd_buf, &rqstp->rq_res, sizeof(req->rq_snd_buf));
> task = rpc_run_bc_task(req, &timeout);
> --
> 2.42.0
>
>

--
Chuck Lever

2024-01-29 17:04:52

by Jeff Layton

[permalink] [raw]
Subject: Re: [PATCH 1/1] NFSv4.1: Assign the right value for initval and retries for rpc timeout

On Mon, 2024-01-22 at 21:35 -0800, Samasth Norway Ananda wrote:
> Make sure the rpc timeout was assigned with the correct value for
> initial timeout and max number of retries.
>
> Fixes: 57331a59ac0d ("NFSv4.1: Use the nfs_client's rpc timeouts for backchannel")
> Signed-off-by: Samasth Norway Ananda <[email protected]>
> Reviewed-by: Benjamin Coddington <[email protected]>
> ---
> net/sunrpc/svc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
> index f60c93e5a25d..b969e505c7b7 100644
> --- a/net/sunrpc/svc.c
> +++ b/net/sunrpc/svc.c
> @@ -1598,10 +1598,10 @@ void svc_process_bc(struct rpc_rqst *req, struct svc_rqst *rqstp)
> /* Finally, send the reply synchronously */
> if (rqstp->bc_to_initval > 0) {
> timeout.to_initval = rqstp->bc_to_initval;
> - timeout.to_retries = rqstp->bc_to_initval;
> + timeout.to_retries = rqstp->bc_to_retries;
> } else {
> timeout.to_initval = req->rq_xprt->timeout->to_initval;
> - timeout.to_initval = req->rq_xprt->timeout->to_retries;
> + timeout.to_retries = req->rq_xprt->timeout->to_retries;
> }
> memcpy(&req->rq_snd_buf, &rqstp->rq_res, sizeof(req->rq_snd_buf));
> task = rpc_run_bc_task(req, &timeout);


The original patch went in via Anna's tree, but this is more a server-
side RPC patch. Who's planning to pick this one up? In any case:


Reviewed-by: Jeff Layton <[email protected]>

2024-01-29 18:49:53

by Chuck Lever III

[permalink] [raw]
Subject: Re: [PATCH 1/1] NFSv4.1: Assign the right value for initval and retries for rpc timeout



> On Jan 29, 2024, at 12:04 PM, Jeff Layton <[email protected]> wrote:
>
> On Mon, 2024-01-22 at 21:35 -0800, Samasth Norway Ananda wrote:
>> Make sure the rpc timeout was assigned with the correct value for
>> initial timeout and max number of retries.
>>
>> Fixes: 57331a59ac0d ("NFSv4.1: Use the nfs_client's rpc timeouts for backchannel")
>> Signed-off-by: Samasth Norway Ananda <[email protected]>
>> Reviewed-by: Benjamin Coddington <[email protected]>
>> ---
>> net/sunrpc/svc.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
>> index f60c93e5a25d..b969e505c7b7 100644
>> --- a/net/sunrpc/svc.c
>> +++ b/net/sunrpc/svc.c
>> @@ -1598,10 +1598,10 @@ void svc_process_bc(struct rpc_rqst *req, struct svc_rqst *rqstp)
>> /* Finally, send the reply synchronously */
>> if (rqstp->bc_to_initval > 0) {
>> timeout.to_initval = rqstp->bc_to_initval;
>> - timeout.to_retries = rqstp->bc_to_initval;
>> + timeout.to_retries = rqstp->bc_to_retries;
>> } else {
>> timeout.to_initval = req->rq_xprt->timeout->to_initval;
>> - timeout.to_initval = req->rq_xprt->timeout->to_retries;
>> + timeout.to_retries = req->rq_xprt->timeout->to_retries;
>> }
>> memcpy(&req->rq_snd_buf, &rqstp->rq_res, sizeof(req->rq_snd_buf));
>> task = rpc_run_bc_task(req, &timeout);
>
>
> The original patch went in via Anna's tree, but this is more a server-
> side RPC patch. Who's planning to pick this one up? In any case:
>
>
> Reviewed-by: Jeff Layton <[email protected]>

I've pushed this to nfsd-fixes. I can drop it if Anna or Trond
want to take it instead.


--
Chuck Lever