Message ID | 1395328983-20477-1-git-send-email-steved@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mar 20, 2014, at 11:23, Steve Dickson <steved@redhat.com> wrote: > Don't schedule an rpc_delay before checking to see if the task > is a SOFTCON because the tk_callback from the delay (__rpc_atrun) > clears the task status before the rpc_exit_task can be run. > > Signed-off-by: Steve Dickson <steved@redhat.com> > --- > net/sunrpc/clnt.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c > index cea1308..cb76099 100644 > --- a/net/sunrpc/clnt.c > +++ b/net/sunrpc/clnt.c > @@ -1802,10 +1802,10 @@ call_connect_status(struct rpc_task *task) > case -ECONNABORTED: > case -ENETUNREACH: > case -EHOSTUNREACH: > - /* retry with existing socket, after a delay */ > - rpc_delay(task, 3*HZ); > if (RPC_IS_SOFTCONN(task)) > break; > + /* retry with existing socket, after a delay */ > + rpc_delay(task, 3*HZ); > case -EAGAIN: > /* Check for timeouts before looping back to call_bind */ > case -ETIMEDOUT: Doh! Good catch! Applied...
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index cea1308..cb76099 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -1802,10 +1802,10 @@ call_connect_status(struct rpc_task *task) case -ECONNABORTED: case -ENETUNREACH: case -EHOSTUNREACH: - /* retry with existing socket, after a delay */ - rpc_delay(task, 3*HZ); if (RPC_IS_SOFTCONN(task)) break; + /* retry with existing socket, after a delay */ + rpc_delay(task, 3*HZ); case -EAGAIN: /* Check for timeouts before looping back to call_bind */ case -ETIMEDOUT:
Don't schedule an rpc_delay before checking to see if the task is a SOFTCON because the tk_callback from the delay (__rpc_atrun) clears the task status before the rpc_exit_task can be run. Signed-off-by: Steve Dickson <steved@redhat.com> --- net/sunrpc/clnt.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)