From: Serguei Smirnov Date: Mon, 7 Apr 2025 23:20:11 +0000 (-0700) Subject: LU-18899 o2iblnd: handle RDMA_CM_EVENT_ESTABLISHED gracefully X-Git-Tag: 2.16.55~111 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=64d7a7e42022d070cb15e79a0d1655e8df4eb33d;p=fs%2Flustre-release.git LU-18899 o2iblnd: handle RDMA_CM_EVENT_ESTABLISHED gracefully Modify kiblnd_cm_callback() to handle RDMA_CM_EVENT_ESTABLISHED gracefully: report an error with relevant details and ignore the event rather than just cause a crash with LBUG if the connection state is not RDMA_CM_EVENT_ESTABLISHED or IBLND_CONN_PASSIVE_WAIT as expected. Test-Parameters: trivial testlist=sanity-lnet Signed-off-by: Serguei Smirnov Change-Id: I8ddde6786eac99699665a71eb0587165e6552ea6 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/58711 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Cyril Bordage Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin --- diff --git a/lnet/klnds/o2iblnd/o2iblnd_cb.c b/lnet/klnds/o2iblnd/o2iblnd_cb.c index 09c5e70..b362c0d 100644 --- a/lnet/klnds/o2iblnd/o2iblnd_cb.c +++ b/lnet/klnds/o2iblnd/o2iblnd_cb.c @@ -3499,7 +3499,10 @@ kiblnd_cm_callback(struct rdma_cm_id *cmid, struct rdma_cm_event *event) conn = cmid->context; switch (conn->ibc_state) { default: - LBUG(); + CERROR("%s: ESTABLISHED (ignored): %d cm_id %p conn %p ibc_state: %d\n", + libcfs_nidstr(&conn->ibc_peer->ibp_nid), + event->status, cmid, conn, conn->ibc_state); + return 0; case IBLND_CONN_PASSIVE_WAIT: CDEBUG(D_NET, "ESTABLISHED (passive): %s cm_id %p conn %p\n",