Whamcloud - gitweb
LU-15925 lnet: add debug messages for IB 83/47583/4
authorCyril Bordage <cbordage@whamcloud.com>
Thu, 9 Jun 2022 21:41:54 +0000 (23:41 +0200)
committerOleg Drokin <green@whamcloud.com>
Mon, 18 Jul 2022 20:25:05 +0000 (20:25 +0000)
If net debug is enabled, information about connection, when
tx status is ECONNABORTED, is collected (only for IB).

Test-Parameters: trivial
Signed-off-by: Cyril Bordage <cbordage@whamcloud.com>
Change-Id: I44a33703931630b85cc0e847e2a038217b7967c6
Reviewed-on: https://review.whamcloud.com/47583
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Frank Sehr <fsehr@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet/klnds/o2iblnd/o2iblnd_cb.c

index c0bc6db..d3b3eec 100644 (file)
@@ -286,6 +286,13 @@ kiblnd_handle_completion(struct kib_conn *conn, int txtype, int status, u64 cook
 
        if (tx->tx_status == 0) {               /* success so far */
                if (status < 0) {               /* failed? */
+                       if (status == -ECONNABORTED) {
+                               CDEBUG(D_NET, "bad status for connection to %s "
+                                             "with completion type %x\n",
+                                      libcfs_nid2str(conn->ibc_peer->ibp_nid),
+                                      txtype);
+                       }
+
                        tx->tx_status = status;
                        tx->tx_hstatus = LNET_MSG_STATUS_REMOTE_ERROR;
                } else if (txtype == IBLND_MSG_GET_REQ) {
@@ -897,6 +904,8 @@ __must_hold(&conn->ibc_lock)
 
         /* I'm still holding ibc_lock! */
         if (conn->ibc_state != IBLND_CONN_ESTABLISHED) {
+               CDEBUG(D_NET, "connection to %s is not established\n",
+                               conn->ibc_peer? libcfs_nid2str(conn->ibc_peer->ibp_nid): "NULL");
                 rc = -ECONNABORTED;
         } else if (tx->tx_pool->tpo_pool.po_failed ||
                  conn->ibc_hdev != tx->tx_pool->tpo_hdev) {
@@ -1259,6 +1268,9 @@ kiblnd_queue_tx_locked(struct kib_tx *tx, struct kib_conn *conn)
        LASSERT(conn->ibc_state >= IBLND_CONN_ESTABLISHED);
 
        if (conn->ibc_state >= IBLND_CONN_DISCONNECTED) {
+               CDEBUG(D_NET, "connection with %s is disconnected\n",
+                               conn->ibc_peer? libcfs_nid2str(conn->ibc_peer->ibp_nid): "NULL");
+
                tx->tx_status = -ECONNABORTED;
                tx->tx_waiting = 0;
                if (tx->tx_conn != NULL) {
@@ -2245,6 +2257,8 @@ kiblnd_finalise_conn(struct kib_conn *conn)
        /* Complete all tx descs not waiting for sends to complete.
         * NB we should be safe from RDMA now that the QP has changed state */
 
+       CDEBUG(D_NET, "abort connection with %s\n", libcfs_nid2str(conn->ibc_peer->ibp_nid));
+
        kiblnd_abort_txs(conn, &conn->ibc_tx_noops);
        kiblnd_abort_txs(conn, &conn->ibc_tx_queue);
        kiblnd_abort_txs(conn, &conn->ibc_tx_queue_rsrvd);