staging: lustre: lnet: make connection more stable with packet loss
IB network may lose last connection handshake packet. This problem isn't Lustre specific and described at https://oss.oracle.com/pipermail/rds-devel/2007-December/000271.html for example. Solution is to make conection established if any packet is received for it. Signed-off-by: Alexander Boyko <alexander.boyko@seagate.com> Signed-off-by: Alexey Lyashkov <alexey.lyashkov@seagate.com> Seagate-bug-id: MRP-2883 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-8303 Reviewed-on: http://review.whamcloud.com/20874 Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com> Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@seagate.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
af96bab11b
commit
d04c0943c1
|
@ -3419,6 +3419,12 @@ kiblnd_qp_event(struct ib_event *event, void *arg)
|
|||
case IB_EVENT_COMM_EST:
|
||||
CDEBUG(D_NET, "%s established\n",
|
||||
libcfs_nid2str(conn->ibc_peer->ibp_nid));
|
||||
/*
|
||||
* We received a packet but connection isn't established
|
||||
* probably handshake packet was lost, so free to
|
||||
* force make connection established
|
||||
*/
|
||||
rdma_notify(conn->ibc_cmid, IB_EVENT_COMM_EST);
|
||||
return;
|
||||
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue