Re: [PATCH] Revert "SUNRPC dont update timeout value on connection reset"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Sep 17, 2023 at 7:38 PM <trondmy@xxxxxxxxxx> wrote:
>
> From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
>
> This reverts commit 88428cc4ae7abcc879295fbb19373dd76aad2bdd.
>
> The problem this commit is intended to fix was comprehensively fixed
> in commit 7de62bc09fe6 ("SUNRPC dont update timeout value on connection
> reset").
> Since then, this commit has been preventing the correct timeout of soft
> mounted requests.

And if we revert this commit then we get back the problem that when
the server RSTs the connection between the timeouts then the client
waits double the time (instead of the correct time).

> Cc: stable@xxxxxxxxxxxxxxx # 5.9.x: 09252177d5f9: SUNRPC: Handle major timeout in xprt_adjust_timeout()
> Cc: stable@xxxxxxxxxxxxxxx # 5.9.x: 7de62bc09fe6: SUNRPC dont update timeout value on connection
> reset
> Cc: stable@xxxxxxxxxxxxxxx # 5.9.x
> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
> ---
>  net/sunrpc/clnt.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
> index 5a7de7e55548..7f533c1041a4 100644
> --- a/net/sunrpc/clnt.c
> +++ b/net/sunrpc/clnt.c
> @@ -2476,8 +2476,7 @@ call_status(struct rpc_task *task)
>                 goto out_exit;
>         }
>         task->tk_action = call_encode;
> -       if (status != -ECONNRESET && status != -ECONNABORTED)
> -               rpc_check_timeout(task);
> +       rpc_check_timeout(task);
>         return;
>  out_exit:
>         rpc_call_rpcerror(task, status);
> --
> 2.41.0
>




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux