Whamcloud - gitweb
LU-9094 lnet: remove ni from lnet_finalize 75/25375/5
authorSergey Cheremencev <sergey_cheremencev@xyratex.com>
Fri, 13 Jan 2017 16:35:40 +0000 (19:35 +0300)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 1 Mar 2017 05:10:18 +0000 (05:10 +0000)
Remove ni from lnet_finalize and kiblnd_txlist_done
input arguments. Also small code cleanup.

Change-Id: I509bfb21629e3dc0b4c80ec083e3953b78fdf874
Signed-off-by: Sergey Cheremencev <sergey.cheremencev@seagate.com>
Seagate-bug-id: MRP-4056
Reviewed-on: https://review.whamcloud.com/25375
Reviewed-by: Doug Oucharek <doug.s.oucharek@intel.com>
Reviewed-by: Amir Shehata <amir.shehata@intel.com>
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lnet/include/lnet/lib-lnet.h
lnet/klnds/gnilnd/gnilnd_cb.c
lnet/klnds/o2iblnd/o2iblnd.c
lnet/klnds/o2iblnd/o2iblnd.h
lnet/klnds/o2iblnd/o2iblnd_cb.c
lnet/klnds/socklnd/socklnd.c
lnet/klnds/socklnd/socklnd_cb.c
lnet/lnet/lib-move.c
lnet/lnet/lib-msg.c
lnet/lnet/lo.c
lnet/lnet/net_fault.c

index 86efcaf..11c58fb 100644 (file)
@@ -639,7 +639,7 @@ struct lnet_msg *lnet_create_reply_msg(struct lnet_ni *ni,
 void lnet_set_reply_msg_len(struct lnet_ni *ni, struct lnet_msg *msg,
                            unsigned int len);
 
 void lnet_set_reply_msg_len(struct lnet_ni *ni, struct lnet_msg *msg,
                            unsigned int len);
 
-void lnet_finalize(struct lnet_ni *ni, struct lnet_msg *msg, int rc);
+void lnet_finalize(struct lnet_msg *msg, int rc);
 
 void lnet_drop_message(struct lnet_ni *ni, int cpt, void *private,
                       unsigned int nob);
 
 void lnet_drop_message(struct lnet_ni *ni, int cpt, void *private,
                       unsigned int nob);
index 0f8f7e2..c8b4fe6 100644 (file)
@@ -1265,10 +1265,10 @@ kgnilnd_tx_done(kgn_tx_t *tx, int completion)
         * could free up lnet credits, resulting in a call chain back into
         * the LND via kgnilnd_send and friends */
 
         * could free up lnet credits, resulting in a call chain back into
         * the LND via kgnilnd_send and friends */
 
-       lnet_finalize(ni, lntmsg0, status0);
+       lnet_finalize(lntmsg0, status0);
 
        if (lntmsg1 != NULL) {
 
        if (lntmsg1 != NULL) {
-               lnet_finalize(ni, lntmsg1, status1);
+               lnet_finalize(lntmsg1, status1);
        }
 }
 
        }
 }
 
@@ -2338,7 +2338,7 @@ kgnilnd_setup_rdma(lnet_ni_t *ni, kgn_rx_t *rx, lnet_msg_t *lntmsg, int mlen)
        kgnilnd_tx_done(tx, rc);
        kgnilnd_nak_rdma(conn, done_type, rc, rxmsg->gnm_u.get.gngm_cookie, ni->ni_nid);
  failed_0:
        kgnilnd_tx_done(tx, rc);
        kgnilnd_nak_rdma(conn, done_type, rc, rxmsg->gnm_u.get.gngm_cookie, ni->ni_nid);
  failed_0:
-       lnet_finalize(ni, lntmsg, rc);
+       lnet_finalize(lntmsg, rc);
 }
 
 int
 }
 
 int
@@ -2464,7 +2464,7 @@ kgnilnd_recv(lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg,
 
                /* someone closed the conn after we copied this out, nuke it */
                kgnilnd_consume_rx(rx);
 
                /* someone closed the conn after we copied this out, nuke it */
                kgnilnd_consume_rx(rx);
-               lnet_finalize(ni, lntmsg, conn->gnc_error);
+               lnet_finalize(lntmsg, conn->gnc_error);
                RETURN(0);
        }
        read_unlock(&kgnilnd_data.kgn_peer_conn_lock);
                RETURN(0);
        }
        read_unlock(&kgnilnd_data.kgn_peer_conn_lock);
@@ -2538,14 +2538,14 @@ kgnilnd_recv(lnet_ni_t *ni, void *private, lnet_msg_t *lntmsg,
                                &rxmsg[1], 0, mlen);
 
                kgnilnd_consume_rx(rx);
                                &rxmsg[1], 0, mlen);
 
                kgnilnd_consume_rx(rx);
-               lnet_finalize(ni, lntmsg, 0);
+               lnet_finalize(lntmsg, 0);
                RETURN(0);
 
        case GNILND_MSG_PUT_REQ:
                /* LNET wants to truncate or drop transaction, sending NAK */
                if (mlen == 0) {
                        kgnilnd_consume_rx(rx);
                RETURN(0);
 
        case GNILND_MSG_PUT_REQ:
                /* LNET wants to truncate or drop transaction, sending NAK */
                if (mlen == 0) {
                        kgnilnd_consume_rx(rx);
-                       lnet_finalize(ni, lntmsg, 0);
+                       lnet_finalize(lntmsg, 0);
 
                        /* only error if lntmsg == NULL, otherwise we are just
                         * short circuiting the rdma process of 0 bytes */
 
                        /* only error if lntmsg == NULL, otherwise we are just
                         * short circuiting the rdma process of 0 bytes */
@@ -2604,7 +2604,7 @@ nak_put_req:
                /* LNET wants to truncate or drop transaction, sending NAK */
                if (mlen == 0) {
                        kgnilnd_consume_rx(rx);
                /* LNET wants to truncate or drop transaction, sending NAK */
                if (mlen == 0) {
                        kgnilnd_consume_rx(rx);
-                       lnet_finalize(ni, lntmsg, 0);
+                       lnet_finalize(lntmsg, 0);
 
                        /* only error if lntmsg == NULL, otherwise we are just
                         * short circuiting the rdma process of 0 bytes */
 
                        /* only error if lntmsg == NULL, otherwise we are just
                         * short circuiting the rdma process of 0 bytes */
@@ -2674,7 +2674,7 @@ nak_get_req_rev:
                /* LNET wants to truncate or drop transaction, sending NAK */
                if (mlen == 0) {
                        kgnilnd_consume_rx(rx);
                /* LNET wants to truncate or drop transaction, sending NAK */
                if (mlen == 0) {
                        kgnilnd_consume_rx(rx);
-                       lnet_finalize(ni, lntmsg, 0);
+                       lnet_finalize(lntmsg, 0);
 
                        /* only error if lntmsg == NULL, otherwise we are just
                         * short circuiting the rdma process of 0 bytes */
 
                        /* only error if lntmsg == NULL, otherwise we are just
                         * short circuiting the rdma process of 0 bytes */
index 5a2850a..164af12 100644 (file)
@@ -524,7 +524,7 @@ kiblnd_del_peer(struct lnet_ni *ni, lnet_nid_t nid)
 
        write_unlock_irqrestore(&kiblnd_data.kib_global_lock, flags);
 
 
        write_unlock_irqrestore(&kiblnd_data.kib_global_lock, flags);
 
-       kiblnd_txlist_done(ni, &zombies, -EIO);
+       kiblnd_txlist_done(&zombies, -EIO);
 
        return rc;
 }
 
        return rc;
 }
index fef6556..fe17e08 100644 (file)
@@ -1198,8 +1198,7 @@ void kiblnd_close_conn (kib_conn_t *conn, int error);
 void kiblnd_close_conn_locked (kib_conn_t *conn, int error);
 
 void kiblnd_launch_tx(struct lnet_ni *ni, kib_tx_t *tx, lnet_nid_t nid);
 void kiblnd_close_conn_locked (kib_conn_t *conn, int error);
 
 void kiblnd_launch_tx(struct lnet_ni *ni, kib_tx_t *tx, lnet_nid_t nid);
-void kiblnd_txlist_done(struct lnet_ni *ni, struct list_head *txlist,
-                       int status);
+void kiblnd_txlist_done(struct list_head *txlist, int status);
 
 void kiblnd_qp_event(struct ib_event *event, void *arg);
 void kiblnd_cq_event(struct ib_event *event, void *arg);
 
 void kiblnd_qp_event(struct ib_event *event, void *arg);
 void kiblnd_cq_event(struct ib_event *event, void *arg);
index 77a5a28..91a4561 100644 (file)
@@ -46,25 +46,24 @@ static int kiblnd_init_rdma(kib_conn_t *conn, kib_tx_t *tx, int type,
                            int resid, kib_rdma_desc_t *dstrd, __u64 dstcookie);
 static void kiblnd_queue_tx_locked(kib_tx_t *tx, kib_conn_t *conn);
 static void kiblnd_queue_tx(kib_tx_t *tx, kib_conn_t *conn);
                            int resid, kib_rdma_desc_t *dstrd, __u64 dstcookie);
 static void kiblnd_queue_tx_locked(kib_tx_t *tx, kib_conn_t *conn);
 static void kiblnd_queue_tx(kib_tx_t *tx, kib_conn_t *conn);
-static void kiblnd_unmap_tx(struct lnet_ni *ni, kib_tx_t *tx);
+
+static void kiblnd_unmap_tx(kib_tx_t *tx);
 static void kiblnd_check_sends_locked(kib_conn_t *conn);
 
 void
 static void kiblnd_check_sends_locked(kib_conn_t *conn);
 
 void
-kiblnd_tx_done(struct lnet_ni *ni, kib_tx_t *tx)
+kiblnd_tx_done(kib_tx_t *tx)
 {
        struct lnet_msg *lntmsg[2];
 {
        struct lnet_msg *lntmsg[2];
-       kib_net_t  *net = ni->ni_data;
        int         rc;
        int         i;
 
        int         rc;
        int         i;
 
-       LASSERT (net != NULL);
        LASSERT (!in_interrupt());
        LASSERT (!tx->tx_queued);               /* mustn't be queued for sending */
        LASSERT (tx->tx_sending == 0);          /* mustn't be awaiting sent callback */
        LASSERT (!tx->tx_waiting);              /* mustn't be awaiting peer_ni response */
        LASSERT (tx->tx_pool != NULL);
 
        LASSERT (!in_interrupt());
        LASSERT (!tx->tx_queued);               /* mustn't be queued for sending */
        LASSERT (tx->tx_sending == 0);          /* mustn't be awaiting sent callback */
        LASSERT (!tx->tx_waiting);              /* mustn't be awaiting peer_ni response */
        LASSERT (tx->tx_pool != NULL);
 
-       kiblnd_unmap_tx(ni, tx);
+       kiblnd_unmap_tx(tx);
 
        /* tx may have up to 2 lnet msgs to finalise */
        lntmsg[0] = tx->tx_lntmsg[0]; tx->tx_lntmsg[0] = NULL;
 
        /* tx may have up to 2 lnet msgs to finalise */
        lntmsg[0] = tx->tx_lntmsg[0]; tx->tx_lntmsg[0] = NULL;
@@ -72,8 +71,6 @@ kiblnd_tx_done(struct lnet_ni *ni, kib_tx_t *tx)
        rc = tx->tx_status;
 
        if (tx->tx_conn != NULL) {
        rc = tx->tx_status;
 
        if (tx->tx_conn != NULL) {
-               LASSERT (ni == tx->tx_conn->ibc_peer->ibp_ni);
-
                kiblnd_conn_decref(tx->tx_conn);
                tx->tx_conn = NULL;
        }
                kiblnd_conn_decref(tx->tx_conn);
                tx->tx_conn = NULL;
        }
@@ -88,12 +85,12 @@ kiblnd_tx_done(struct lnet_ni *ni, kib_tx_t *tx)
                if (lntmsg[i] == NULL)
                        continue;
 
                if (lntmsg[i] == NULL)
                        continue;
 
-               lnet_finalize(ni, lntmsg[i], rc);
+               lnet_finalize(lntmsg[i], rc);
        }
 }
 
 void
        }
 }
 
 void
-kiblnd_txlist_done(struct lnet_ni *ni, struct list_head *txlist, int status)
+kiblnd_txlist_done(struct list_head *txlist, int status)
 {
        kib_tx_t *tx;
 
 {
        kib_tx_t *tx;
 
@@ -104,7 +101,7 @@ kiblnd_txlist_done(struct lnet_ni *ni, struct list_head *txlist, int status)
                /* complete now */
                tx->tx_waiting = 0;
                tx->tx_status = status;
                /* complete now */
                tx->tx_waiting = 0;
                tx->tx_status = status;
-               kiblnd_tx_done(ni, tx);
+               kiblnd_tx_done(tx);
        }
 }
 
        }
 }
 
@@ -282,7 +279,7 @@ kiblnd_handle_completion(kib_conn_t *conn, int txtype, int status, __u64 cookie)
        spin_unlock(&conn->ibc_lock);
 
        if (idle)
        spin_unlock(&conn->ibc_lock);
 
        if (idle)
-               kiblnd_tx_done(ni, tx);
+               kiblnd_tx_done(tx);
 }
 
 static void
 }
 
 static void
@@ -591,13 +588,9 @@ kiblnd_fmr_map_tx(kib_net_t *net, kib_tx_t *tx, kib_rdma_desc_t *rd, __u32 nob)
 }
 
 static void
 }
 
 static void
-kiblnd_unmap_tx(struct lnet_ni *ni, kib_tx_t *tx)
+kiblnd_unmap_tx(kib_tx_t *tx)
 {
 {
-       kib_net_t  *net = ni->ni_data;
-
-       LASSERT(net != NULL);
-
-       if (net->ibn_fmr_ps != NULL)
+       if (tx->fmr.fmr_pfmr != NULL)
                kiblnd_fmr_pool_unmap(&tx->fmr, tx->tx_status);
 
         if (tx->tx_nfrags != 0) {
                kiblnd_fmr_pool_unmap(&tx->fmr, tx->tx_status);
 
         if (tx->tx_nfrags != 0) {
@@ -805,7 +798,7 @@ __must_hold(&conn->ibc_lock)
                 * kiblnd_check_sends_locked will queue NOOP again when
                 * posted NOOPs complete */
                spin_unlock(&conn->ibc_lock);
                 * kiblnd_check_sends_locked will queue NOOP again when
                 * posted NOOPs complete */
                spin_unlock(&conn->ibc_lock);
-               kiblnd_tx_done(peer_ni->ibp_ni, tx);
+               kiblnd_tx_done(tx);
                spin_lock(&conn->ibc_lock);
                 CDEBUG(D_NET, "%s(%d): redundant or enough NOOP\n",
                        libcfs_nid2str(peer_ni->ibp_nid),
                spin_lock(&conn->ibc_lock);
                 CDEBUG(D_NET, "%s(%d): redundant or enough NOOP\n",
                        libcfs_nid2str(peer_ni->ibp_nid),
@@ -894,8 +887,8 @@ __must_hold(&conn->ibc_lock)
 
         kiblnd_close_conn(conn, rc);
 
 
         kiblnd_close_conn(conn, rc);
 
-        if (done)
-                kiblnd_tx_done(peer_ni->ibp_ni, tx);
+       if (done)
+               kiblnd_tx_done(tx);
 
        spin_lock(&conn->ibc_lock);
 
 
        spin_lock(&conn->ibc_lock);
 
@@ -1013,8 +1006,8 @@ kiblnd_tx_complete (kib_tx_t *tx, int status)
        kiblnd_check_sends_locked(conn);
        spin_unlock(&conn->ibc_lock);
 
        kiblnd_check_sends_locked(conn);
        spin_unlock(&conn->ibc_lock);
 
-        if (idle)
-                kiblnd_tx_done(conn->ibc_peer->ibp_ni, tx);
+       if (idle)
+               kiblnd_tx_done(tx);
 }
 
 static void
 }
 
 static void
@@ -1356,7 +1349,7 @@ kiblnd_reconnect_peer(kib_peer_ni_t *peer_ni)
 
        CWARN("Abort reconnection of %s: %s\n",
              libcfs_nid2str(peer_ni->ibp_nid), reason);
 
        CWARN("Abort reconnection of %s: %s\n",
              libcfs_nid2str(peer_ni->ibp_nid), reason);
-       kiblnd_txlist_done(peer_ni->ibp_ni, &txs, -ECONNABORTED);
+       kiblnd_txlist_done(&txs, -ECONNABORTED);
        return false;
 }
 
        return false;
 }
 
@@ -1429,7 +1422,7 @@ kiblnd_launch_tx(struct lnet_ni *ni, kib_tx_t *tx, lnet_nid_t nid)
                if (tx != NULL) {
                        tx->tx_status = -EHOSTUNREACH;
                        tx->tx_waiting = 0;
                if (tx != NULL) {
                        tx->tx_status = -EHOSTUNREACH;
                        tx->tx_waiting = 0;
-                       kiblnd_tx_done(ni, tx);
+                       kiblnd_tx_done(tx);
                }
                return;
        }
                }
                return;
        }
@@ -1551,7 +1544,7 @@ kiblnd_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
                if (rc != 0) {
                        CERROR("Can't setup GET sink for %s: %d\n",
                               libcfs_nid2str(target.nid), rc);
                if (rc != 0) {
                        CERROR("Can't setup GET sink for %s: %d\n",
                               libcfs_nid2str(target.nid), rc);
-                       kiblnd_tx_done(ni, tx);
+                       kiblnd_tx_done(tx);
                        return -EIO;
                }
 
                        return -EIO;
                }
 
@@ -1562,12 +1555,12 @@ kiblnd_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
                 kiblnd_init_tx_msg(ni, tx, IBLND_MSG_GET_REQ, nob);
 
                 tx->tx_lntmsg[1] = lnet_create_reply_msg(ni, lntmsg);
                 kiblnd_init_tx_msg(ni, tx, IBLND_MSG_GET_REQ, nob);
 
                 tx->tx_lntmsg[1] = lnet_create_reply_msg(ni, lntmsg);
-                if (tx->tx_lntmsg[1] == NULL) {
-                        CERROR("Can't create reply for GET -> %s\n",
-                               libcfs_nid2str(target.nid));
-                        kiblnd_tx_done(ni, tx);
-                        return -EIO;
-                }
+               if (tx->tx_lntmsg[1] == NULL) {
+                       CERROR("Can't create reply for GET -> %s\n",
+                              libcfs_nid2str(target.nid));
+                       kiblnd_tx_done(tx);
+                       return -EIO;
+               }
 
                 tx->tx_lntmsg[0] = lntmsg;      /* finalise lntmsg[0,1] on completion */
                 tx->tx_waiting = 1;             /* waiting for GET_DONE */
 
                 tx->tx_lntmsg[0] = lntmsg;      /* finalise lntmsg[0,1] on completion */
                 tx->tx_waiting = 1;             /* waiting for GET_DONE */
@@ -1597,12 +1590,12 @@ kiblnd_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
                         rc = kiblnd_setup_rd_kiov(ni, tx, tx->tx_rd,
                                                   payload_niov, payload_kiov,
                                                   payload_offset, payload_nob);
                         rc = kiblnd_setup_rd_kiov(ni, tx, tx->tx_rd,
                                                   payload_niov, payload_kiov,
                                                   payload_offset, payload_nob);
-                if (rc != 0) {
-                        CERROR("Can't setup PUT src for %s: %d\n",
-                               libcfs_nid2str(target.nid), rc);
-                        kiblnd_tx_done(ni, tx);
-                        return -EIO;
-                }
+               if (rc != 0) {
+                       CERROR("Can't setup PUT src for %s: %d\n",
+                              libcfs_nid2str(target.nid), rc);
+                       kiblnd_tx_done(tx);
+                       return -EIO;
+               }
 
                 ibmsg = tx->tx_msg;
                 ibmsg->ibm_u.putreq.ibprm_hdr = *hdr;
 
                 ibmsg = tx->tx_msg;
                 ibmsg->ibm_u.putreq.ibprm_hdr = *hdr;
@@ -1692,23 +1685,23 @@ kiblnd_reply(struct lnet_ni *ni, kib_rx_t *rx, struct lnet_msg *lntmsg)
                        libcfs_nid2str(target.nid), rc);
                 goto failed_1;
         }
                        libcfs_nid2str(target.nid), rc);
                 goto failed_1;
         }
-        
-        if (nob == 0) {
-                /* No RDMA: local completion may happen now! */
-                lnet_finalize(ni, lntmsg, 0);
-        } else {
-                /* RDMA: lnet_finalize(lntmsg) when it
-                 * completes */
-                tx->tx_lntmsg[0] = lntmsg;
-        }
+
+       if (nob == 0) {
+               /* No RDMA: local completion may happen now! */
+               lnet_finalize(lntmsg, 0);
+       } else {
+               /* RDMA: lnet_finalize(lntmsg) when it
+                * completes */
+               tx->tx_lntmsg[0] = lntmsg;
+       }
 
         kiblnd_queue_tx(tx, rx->rx_conn);
         return;
 
  failed_1:
 
         kiblnd_queue_tx(tx, rx->rx_conn);
         return;
 
  failed_1:
-        kiblnd_tx_done(ni, tx);
+       kiblnd_tx_done(tx);
  failed_0:
  failed_0:
-        lnet_finalize(ni, lntmsg, -EIO);
+       lnet_finalize(lntmsg, -EIO);
 }
 
 int
 }
 
 int
@@ -1720,6 +1713,7 @@ kiblnd_recv(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg,
         kib_msg_t   *rxmsg = rx->rx_msg;
         kib_conn_t  *conn = rx->rx_conn;
         kib_tx_t    *tx;
         kib_msg_t   *rxmsg = rx->rx_msg;
         kib_conn_t  *conn = rx->rx_conn;
         kib_tx_t    *tx;
+       __u64        ibprm_cookie;
        int          nob;
        int          post_credit = IBLND_POSTRX_PEER_CREDIT;
        int          rc = 0;
        int          nob;
        int          post_credit = IBLND_POSTRX_PEER_CREDIT;
        int          rc = 0;
@@ -1753,19 +1747,20 @@ kiblnd_recv(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg,
                                            IBLND_MSG_SIZE, rxmsg,
                                            offsetof(kib_msg_t, ibm_u.immediate.ibim_payload),
                                            mlen);
                                            IBLND_MSG_SIZE, rxmsg,
                                            offsetof(kib_msg_t, ibm_u.immediate.ibim_payload),
                                            mlen);
-                lnet_finalize (ni, lntmsg, 0);
-                break;
+               lnet_finalize(lntmsg, 0);
+               break;
 
        case IBLND_MSG_PUT_REQ: {
                kib_msg_t       *txmsg;
                kib_rdma_desc_t *rd;
 
        case IBLND_MSG_PUT_REQ: {
                kib_msg_t       *txmsg;
                kib_rdma_desc_t *rd;
+               ibprm_cookie = rxmsg->ibm_u.putreq.ibprm_cookie;
 
 
-                if (mlen == 0) {
-                        lnet_finalize(ni, lntmsg, 0);
-                        kiblnd_send_completion(rx->rx_conn, IBLND_MSG_PUT_NAK, 0,
-                                               rxmsg->ibm_u.putreq.ibprm_cookie);
-                        break;
-                }
+               if (mlen == 0) {
+                       lnet_finalize(lntmsg, 0);
+                       kiblnd_send_completion(rx->rx_conn, IBLND_MSG_PUT_NAK,
+                                              0, ibprm_cookie);
+                       break;
+               }
 
                tx = kiblnd_get_idle_tx(ni, conn->ibc_peer->ibp_nid);
                 if (tx == NULL) {
 
                tx = kiblnd_get_idle_tx(ni, conn->ibc_peer->ibp_nid);
                 if (tx == NULL) {
@@ -1787,15 +1782,15 @@ kiblnd_recv(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg,
                if (rc != 0) {
                        CERROR("Can't setup PUT sink for %s: %d\n",
                               libcfs_nid2str(conn->ibc_peer->ibp_nid), rc);
                if (rc != 0) {
                        CERROR("Can't setup PUT sink for %s: %d\n",
                               libcfs_nid2str(conn->ibc_peer->ibp_nid), rc);
-                       kiblnd_tx_done(ni, tx);
+                       kiblnd_tx_done(tx);
                        /* tell peer_ni it's over */
                        /* tell peer_ni it's over */
-                       kiblnd_send_completion(rx->rx_conn, IBLND_MSG_PUT_NAK, rc,
-                                              rxmsg->ibm_u.putreq.ibprm_cookie);
+                       kiblnd_send_completion(rx->rx_conn, IBLND_MSG_PUT_NAK,
+                                              rc, ibprm_cookie);
                        break;
                }
 
                nob = offsetof(kib_putack_msg_t, ibpam_rd.rd_frags[rd->rd_nfrags]);
                        break;
                }
 
                nob = offsetof(kib_putack_msg_t, ibpam_rd.rd_frags[rd->rd_nfrags]);
-               txmsg->ibm_u.putack.ibpam_src_cookie = rxmsg->ibm_u.putreq.ibprm_cookie;
+               txmsg->ibm_u.putack.ibpam_src_cookie = ibprm_cookie;
                txmsg->ibm_u.putack.ibpam_dst_cookie = tx->tx_cookie;
 
                 kiblnd_init_tx_msg(ni, tx, IBLND_MSG_PUT_ACK, nob);
                txmsg->ibm_u.putack.ibpam_dst_cookie = tx->tx_cookie;
 
                 kiblnd_init_tx_msg(ni, tx, IBLND_MSG_PUT_ACK, nob);
@@ -2013,7 +2008,7 @@ kiblnd_abort_txs(kib_conn_t *conn, struct list_head *txs)
 
        spin_unlock(&conn->ibc_lock);
 
 
        spin_unlock(&conn->ibc_lock);
 
-       kiblnd_txlist_done(conn->ibc_peer->ibp_ni, &zombies, -ECONNABORTED);
+       kiblnd_txlist_done(&zombies, -ECONNABORTED);
 }
 
 static void
 }
 
 static void
@@ -2092,7 +2087,7 @@ kiblnd_peer_connect_failed(kib_peer_ni_t *peer_ni, int active, int error)
        CNETERR("Deleting messages for %s: connection failed\n",
                libcfs_nid2str(peer_ni->ibp_nid));
 
        CNETERR("Deleting messages for %s: connection failed\n",
                libcfs_nid2str(peer_ni->ibp_nid));
 
-       kiblnd_txlist_done(peer_ni->ibp_ni, &zombies, -EHOSTUNREACH);
+       kiblnd_txlist_done(&zombies, -EHOSTUNREACH);
 }
 
 static void
 }
 
 static void
@@ -2162,13 +2157,12 @@ kiblnd_connreq_done(kib_conn_t *conn, int status)
 
         if (!kiblnd_peer_active(peer_ni) ||        /* peer_ni has been deleted */
             conn->ibc_comms_error != 0) {       /* error has happened already */
 
         if (!kiblnd_peer_active(peer_ni) ||        /* peer_ni has been deleted */
             conn->ibc_comms_error != 0) {       /* error has happened already */
-               struct lnet_ni *ni = peer_ni->ibp_ni;
 
                 /* start to shut down connection */
                 kiblnd_close_conn_locked(conn, -ECONNABORTED);
                write_unlock_irqrestore(&kiblnd_data.kib_global_lock, flags);
 
 
                 /* start to shut down connection */
                 kiblnd_close_conn_locked(conn, -ECONNABORTED);
                write_unlock_irqrestore(&kiblnd_data.kib_global_lock, flags);
 
-               kiblnd_txlist_done(ni, &txs, -ECONNABORTED);
+               kiblnd_txlist_done(&txs, -ECONNABORTED);
 
                return;
        }
 
                return;
        }
index 0db9d6d..2b8854c 100644 (file)
@@ -1649,9 +1649,8 @@ ksocknal_destroy_conn (ksock_conn_t *conn)
                        conn->ksnc_rx_nob_wanted, conn->ksnc_rx_nob_left,
                       cfs_duration_sec(cfs_time_sub(ktime_get_real_seconds(),
                                         last_rcv)));
                        conn->ksnc_rx_nob_wanted, conn->ksnc_rx_nob_left,
                       cfs_duration_sec(cfs_time_sub(ktime_get_real_seconds(),
                                         last_rcv)));
-                lnet_finalize (conn->ksnc_peer->ksnp_ni,
-                               conn->ksnc_cookie, -EIO);
-                break;
+               lnet_finalize(conn->ksnc_cookie, -EIO);
+               break;
         case SOCKNAL_RX_LNET_HEADER:
                 if (conn->ksnc_rx_started)
                        CERROR("Incomplete receive of lnet header from %s, "
         case SOCKNAL_RX_LNET_HEADER:
                 if (conn->ksnc_rx_started)
                        CERROR("Incomplete receive of lnet header from %s, "
index 17c889f..06bfe3e 100644 (file)
@@ -403,9 +403,9 @@ ksocknal_tx_done(struct lnet_ni *ni, ksock_tx_t *tx)
         if (ni == NULL && tx->tx_conn != NULL)
                 ni = tx->tx_conn->ksnc_peer->ksnp_ni;
 
         if (ni == NULL && tx->tx_conn != NULL)
                 ni = tx->tx_conn->ksnc_peer->ksnp_ni;
 
-        ksocknal_free_tx (tx);
-        if (lnetmsg != NULL) /* KSOCK_MSG_NOOP go without lnetmsg */
-                lnet_finalize (ni, lnetmsg, rc);
+       ksocknal_free_tx(tx);
+       if (lnetmsg != NULL) /* KSOCK_MSG_NOOP go without lnetmsg */
+               lnet_finalize(lnetmsg, rc);
 
         EXIT;
 }
 
         EXIT;
 }
@@ -1295,7 +1295,7 @@ ksocknal_process_receive (ksock_conn_t *conn)
                                         le64_to_cpu(lhdr->src_nid) != id->nid);
                 }
 
                                         le64_to_cpu(lhdr->src_nid) != id->nid);
                 }
 
-                lnet_finalize(conn->ksnc_peer->ksnp_ni, conn->ksnc_cookie, rc);
+               lnet_finalize(conn->ksnc_cookie, rc);
 
                 if (rc != 0) {
                         ksocknal_new_packet(conn, 0);
 
                 if (rc != 0) {
                         ksocknal_new_packet(conn, 0);
index 988c549..5f4045e 100644 (file)
@@ -594,7 +594,7 @@ lnet_ni_recv(struct lnet_ni *ni, void *private, struct lnet_msg *msg,
                                             niov, iov, kiov, offset, mlen,
                                             rlen);
        if (rc < 0)
                                             niov, iov, kiov, offset, mlen,
                                             rlen);
        if (rc < 0)
-               lnet_finalize(ni, msg, rc);
+               lnet_finalize(msg, rc);
 }
 
 static void
 }
 
 static void
@@ -648,7 +648,7 @@ lnet_ni_send(struct lnet_ni *ni, struct lnet_msg *msg)
 
        rc = (ni->ni_net->net_lnd->lnd_send)(ni, priv, msg);
        if (rc < 0)
 
        rc = (ni->ni_net->net_lnd->lnd_send)(ni, priv, msg);
        if (rc < 0)
-               lnet_finalize(ni, msg, rc);
+               lnet_finalize(msg, rc);
 }
 
 static int
 }
 
 static int
@@ -829,7 +829,7 @@ lnet_post_send_locked(struct lnet_msg *msg, int do_send)
                CNETERR("Dropping message for %s: peer not alive\n",
                        libcfs_id2str(msg->msg_target));
                if (do_send)
                CNETERR("Dropping message for %s: peer not alive\n",
                        libcfs_id2str(msg->msg_target));
                if (do_send)
-                       lnet_finalize(ni, msg, -EHOSTUNREACH);
+                       lnet_finalize(msg, -EHOSTUNREACH);
 
                lnet_net_lock(cpt);
                return -EHOSTUNREACH;
 
                lnet_net_lock(cpt);
                return -EHOSTUNREACH;
@@ -843,7 +843,7 @@ lnet_post_send_locked(struct lnet_msg *msg, int do_send)
                        "called on the MD/ME.\n",
                        libcfs_id2str(msg->msg_target));
                if (do_send)
                        "called on the MD/ME.\n",
                        libcfs_id2str(msg->msg_target));
                if (do_send)
-                       lnet_finalize(ni, msg, -ECANCELED);
+                       lnet_finalize(msg, -ECANCELED);
 
                lnet_net_lock(cpt);
                return -ECANCELED;
 
                lnet_net_lock(cpt);
                return -ECANCELED;
@@ -1107,7 +1107,7 @@ lnet_drop_routed_msgs_locked(struct list_head *list, int cpt)
                lnet_ni_recv(msg->msg_rxni, msg->msg_private, NULL,
                             0, 0, 0, msg->msg_hdr.payload_length);
                list_del_init(&msg->msg_list);
                lnet_ni_recv(msg->msg_rxni, msg->msg_private, NULL,
                             0, 0, 0, msg->msg_hdr.payload_length);
                list_del_init(&msg->msg_list);
-               lnet_finalize(NULL, msg, -ECANCELED);
+               lnet_finalize(msg, -ECANCELED);
        }
 
        lnet_net_lock(cpt);
        }
 
        lnet_net_lock(cpt);
@@ -2092,7 +2092,7 @@ lnet_parse_get(struct lnet_ni *ni, struct lnet_msg *msg, int rdma_get)
                       libcfs_nid2str(ni->ni_nid),
                       libcfs_id2str(info.mi_id), rc);
 
                       libcfs_nid2str(ni->ni_nid),
                       libcfs_id2str(info.mi_id), rc);
 
-               lnet_finalize(ni, msg, rc);
+               lnet_finalize(msg, rc);
        }
 
        return 0;
        }
 
        return 0;
@@ -2589,7 +2589,7 @@ lnet_parse(struct lnet_ni *ni, struct lnet_hdr *hdr, lnet_nid_t from_nid,
 
  free_drop:
        LASSERT(msg->msg_md == NULL);
 
  free_drop:
        LASSERT(msg->msg_md == NULL);
-       lnet_finalize(ni, msg, rc);
+       lnet_finalize(msg, rc);
 
  drop:
        lnet_drop_message(ni, cpt, private, payload_length);
 
  drop:
        lnet_drop_message(ni, cpt, private, payload_length);
@@ -2634,7 +2634,7 @@ lnet_drop_delayed_msg_list(struct list_head *head, char *reason)
                 * but we still should give error code so lnet_msg_decommit()
                 * can skip counters operations and other checks.
                 */
                 * but we still should give error code so lnet_msg_decommit()
                 * can skip counters operations and other checks.
                 */
-               lnet_finalize(msg->msg_rxni, msg, -ENOENT);
+               lnet_finalize(msg, -ENOENT);
        }
 }
 
        }
 }
 
@@ -2792,7 +2792,7 @@ LNetPut(lnet_nid_t self, struct lnet_handle_md mdh, enum lnet_ack_req ack,
        if (rc != 0) {
                CNETERR("Error sending PUT to %s: %d\n",
                        libcfs_id2str(target), rc);
        if (rc != 0) {
                CNETERR("Error sending PUT to %s: %d\n",
                        libcfs_id2str(target), rc);
-               lnet_finalize(NULL, msg, rc);
+               lnet_finalize(msg, rc);
        }
 
        /* completion will be signalled by an event */
        }
 
        /* completion will be signalled by an event */
@@ -2988,7 +2988,7 @@ LNetGet(lnet_nid_t self, struct lnet_handle_md mdh,
        if (rc < 0) {
                CNETERR("Error sending GET to %s: %d\n",
                        libcfs_id2str(target), rc);
        if (rc < 0) {
                CNETERR("Error sending GET to %s: %d\n",
                        libcfs_id2str(target), rc);
-               lnet_finalize(NULL, msg, rc);
+               lnet_finalize(msg, rc);
        }
 
        /* completion will be signalled by an event */
        }
 
        /* completion will be signalled by an event */
index cca7766..ba04fd6 100644 (file)
@@ -445,7 +445,7 @@ lnet_complete_msg_locked(struct lnet_msg *msg, int cpt)
 }
 
 void
 }
 
 void
-lnet_finalize(struct lnet_ni *ni, struct lnet_msg *msg, int status)
+lnet_finalize(struct lnet_msg *msg, int status)
 {
        struct lnet_msg_container       *container;
        int                             my_slot;
 {
        struct lnet_msg_container       *container;
        int                             my_slot;
index dae45a4..eaa06fb 100644 (file)
@@ -73,10 +73,10 @@ lolnd_recv(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg,
                                                    sendmsg->msg_offset, mlen);
                }
 
                                                    sendmsg->msg_offset, mlen);
                }
 
-               lnet_finalize(ni, lntmsg, 0);
+               lnet_finalize(lntmsg, 0);
        }
 
        }
 
-       lnet_finalize(ni, sendmsg, 0);
+       lnet_finalize(sendmsg, 0);
        return 0;
 }
 
        return 0;
 }
 
index 3861a16..fea2f92 100644 (file)
@@ -648,7 +648,7 @@ delayed_msg_process(struct list_head *msg_list, bool drop)
                }
 
                lnet_drop_message(ni, cpt, msg->msg_private, msg->msg_len);
                }
 
                lnet_drop_message(ni, cpt, msg->msg_private, msg->msg_len);
-               lnet_finalize(ni, msg, rc);
+               lnet_finalize(msg, rc);
        }
 }
 
        }
 }