mirror of https://gitee.com/openkylin/linux.git
SUNRPC: Use the ENOTCONN error on socket disconnect
When the socket is closed, we currently send an EAGAIN error to all pending requests in order to ask them to retransmit. Use ENOTCONN instead, to ensure that they try to reconnect before attempting to transmit. This also helps SOFTCONN tasks to behave correctly in this situation. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
parent
513149607d
commit
27adc78592
|
@ -664,7 +664,7 @@ void xprt_disconnect_done(struct rpc_xprt *xprt)
|
||||||
spin_lock_bh(&xprt->transport_lock);
|
spin_lock_bh(&xprt->transport_lock);
|
||||||
xprt_clear_connected(xprt);
|
xprt_clear_connected(xprt);
|
||||||
xprt_clear_write_space_locked(xprt);
|
xprt_clear_write_space_locked(xprt);
|
||||||
xprt_wake_pending_tasks(xprt, -EAGAIN);
|
xprt_wake_pending_tasks(xprt, -ENOTCONN);
|
||||||
spin_unlock_bh(&xprt->transport_lock);
|
spin_unlock_bh(&xprt->transport_lock);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(xprt_disconnect_done);
|
EXPORT_SYMBOL_GPL(xprt_disconnect_done);
|
||||||
|
|
Loading…
Reference in New Issue