Whamcloud - gitweb
LU-9480 lnet: add "lnetctl discover"
[fs/lustre-release.git] / lnet / lnet / lib-msg.c
index ba04fd6..736bea1 100644 (file)
@@ -65,6 +65,7 @@ lnet_build_msg_event(struct lnet_msg *msg, enum lnet_event_kind ev_type)
        LASSERT(!msg->msg_routing);
 
        ev->type = ev_type;
+       ev->msg_type = msg->msg_type;
 
        if (ev_type == LNET_EVENT_SEND) {
                /* event for active message */
@@ -75,7 +76,6 @@ lnet_build_msg_event(struct lnet_msg *msg, enum lnet_event_kind ev_type)
                ev->source.nid    = LNET_NID_ANY;
                ev->source.pid    = the_lnet.ln_pid;
                ev->sender        = LNET_NID_ANY;
-
        } else {
                /* event for passive message */
                ev->target.pid    = hdr->dest_pid;
@@ -190,7 +190,7 @@ lnet_msg_decommit_tx(struct lnet_msg *msg, int status)
 
                counters->route_length += msg->msg_len;
                counters->route_count++;
-               goto out;
+               goto incr_stats;
 
        case LNET_EVENT_PUT:
                /* should have been decommitted */
@@ -216,6 +216,8 @@ lnet_msg_decommit_tx(struct lnet_msg *msg, int status)
        }
 
        counters->send_count++;
+
+incr_stats:
        if (msg->msg_txpeer)
                atomic_inc(&msg->msg_txpeer->lpni_stats.send_count);
        if (msg->msg_txni)
@@ -242,7 +244,7 @@ lnet_msg_decommit_rx(struct lnet_msg *msg, int status)
        default:
                LASSERT(ev->type == 0);
                LASSERT(msg->msg_routing);
-               goto out;
+               goto incr_stats;
 
        case LNET_EVENT_ACK:
                LASSERT(msg->msg_type == LNET_MSG_ACK);
@@ -271,6 +273,8 @@ lnet_msg_decommit_rx(struct lnet_msg *msg, int status)
        }
 
        counters->recv_count++;
+
+incr_stats:
        if (msg->msg_rxpeer)
                atomic_inc(&msg->msg_rxpeer->lpni_stats.recv_count);
        if (msg->msg_rxni)
@@ -569,16 +573,17 @@ lnet_msg_container_cleanup(struct lnet_msg_container *container)
 int
 lnet_msg_container_setup(struct lnet_msg_container *container, int cpt)
 {
-       int     rc;
+       int rc = 0;
 
        container->msc_init = 1;
 
        INIT_LIST_HEAD(&container->msc_active);
        INIT_LIST_HEAD(&container->msc_finalizing);
 
-       rc = 0;
        /* number of CPUs */
        container->msc_nfinalizers = cfs_cpt_weight(lnet_cpt_table(), cpt);
+       if (container->msc_nfinalizers == 0)
+               container->msc_nfinalizers = 1;
 
        LIBCFS_CPT_ALLOC(container->msc_finalizers, lnet_cpt_table(), cpt,
                         container->msc_nfinalizers *