Message ID | 20230917232646.30810-1-trondmy@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Revert "SUNRPC dont update timeout value on connection reset" | expand |
On Sun, Sep 17, 2023 at 7:38 PM <trondmy@kernel.org> wrote: > > From: Trond Myklebust <trond.myklebust@hammerspace.com> > > 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@vger.kernel.org # 5.9.x: 09252177d5f9: SUNRPC: Handle major timeout in xprt_adjust_timeout() > Cc: stable@vger.kernel.org # 5.9.x: 7de62bc09fe6: SUNRPC dont update timeout value on connection > reset > Cc: stable@vger.kernel.org # 5.9.x > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> > --- > 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 >
On Sun, 2023-09-17 at 22:55 -0400, Olga Kornievskaia wrote: > On Sun, Sep 17, 2023 at 7:38 PM <trondmy@kernel.org> wrote: > > > > From: Trond Myklebust <trond.myklebust@hammerspace.com> > > > > 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). No, we don't. That's what commit 7de62bc09fe6 (mentioned above) fixes. > > > Cc: stable@vger.kernel.org # 5.9.x: 09252177d5f9: SUNRPC: Handle > > major timeout in xprt_adjust_timeout() > > Cc: stable@vger.kernel.org # 5.9.x: 7de62bc09fe6: SUNRPC dont > > update timeout value on connection > > reset > > Cc: stable@vger.kernel.org # 5.9.x > > Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> > > --- > > 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 > >
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);