Whamcloud - gitweb
Land b_release_1_4_3 onto HEAD (20050619_0305)
[fs/lustre-release.git] / lnet / klnds / ralnd / ralnd.c
index 1aa3556..f984e6f 100644 (file)
@@ -544,6 +544,13 @@ kranal_set_conn_params(kra_conn_t *conn, kra_connreq_t *connreq,
         conn->rac_last_tx = jiffies;
         conn->rac_keepalive = 0;
 
+        rrc = RapkSetRiParams(conn->rac_rihandle, &connreq->racr_riparams);
+        if (rrc != RAP_SUCCESS) {
+                CERROR("Error setting riparams from %u.%u.%u.%u/%d: %d\n",
+                       HIPQUAD(peer_ip), peer_port, rrc);
+                return -ECONNABORTED;
+        }
+
         /* Schedule conn on rad_new_conns */
         kranal_conn_addref(conn);
         spin_lock_irqsave(&dev->rad_lock, flags);
@@ -551,9 +558,9 @@ kranal_set_conn_params(kra_conn_t *conn, kra_connreq_t *connreq,
         wake_up(&dev->rad_waitq);
         spin_unlock_irqrestore(&dev->rad_lock, flags);
 
-        rrc = RapkSetRiParams(conn->rac_rihandle, &connreq->racr_riparams);
+        rrc = RapkWaitToConnect(conn->rac_rihandle);
         if (rrc != RAP_SUCCESS) {
-                CERROR("Error setting riparams from %u.%u.%u.%u/%d: %d\n",
+                CERROR("Error waiting to connect to %u.%u.%u.%u/%d: %d\n",
                        HIPQUAD(peer_ip), peer_port, rrc);
                 return -ECONNABORTED;
         }
@@ -913,7 +920,7 @@ kranal_conn_handshake (struct socket *sock, kra_peer_t *peer)
         if (nstale != 0)
                 CWARN("Closed %d stale conns to "LPX64"\n", nstale, peer_nid);
 
-        CDEBUG(D_WARNING, "New connection to "LPX64" on devid[%d] = %d\n",
+        CWARN("New connection to "LPX64" on devid[%d] = %d\n",
                peer_nid, conn->rac_device->rad_idx, conn->rac_device->rad_id);
 
         /* Ensure conn gets checked.  Transmits may have been queued and an
@@ -1858,7 +1865,11 @@ kranal_api_shutdown (nal_t *nal)
 
                 LASSERT (list_empty(&dev->rad_ready_conns));
                 LASSERT (list_empty(&dev->rad_new_conns));
-
+                LASSERT (dev->rad_nphysmap == 0);
+                LASSERT (dev->rad_nppphysmap == 0);
+                LASSERT (dev->rad_nvirtmap == 0);
+                LASSERT (dev->rad_nobvirtmap == 0);
+                
                 spin_lock_irqsave(&dev->rad_lock, flags);
                 wake_up(&dev->rad_waitq);
                 spin_unlock_irqrestore(&dev->rad_lock, flags);
@@ -2057,6 +2068,7 @@ kranal_api_startup (nal_t *nal, ptl_pid_t requested_pid,
         }
         
         for (i = 0; i < kranal_data.kra_ndevs; i++) {
+                dev = &kranal_data.kra_devices[i];
                 rc = kranal_thread_start(kranal_scheduler, dev);
                 if (rc != 0) {
                         CERROR("Can't spawn ranal scheduler[%d]: %d\n",