Whamcloud - gitweb
* Additional checks for correct locking
authorpjkirner <pjkirner>
Thu, 22 Sep 2005 03:07:33 +0000 (03:07 +0000)
committerpjkirner <pjkirner>
Thu, 22 Sep 2005 03:07:33 +0000 (03:07 +0000)
lnet/lnet/api-ni.c
lnet/lnet/lib-move.c

index 4d3e84c..d19de4f 100644 (file)
@@ -765,6 +765,7 @@ lnet_shutdown_lndnis (void)
                 islo = ni->ni_lnd->lnd_type == LOLND;
 
                 LASSERT (!in_interrupt());
+                LASSERT (!irqs_disabled ());
                 (ni->ni_lnd->lnd_shutdown)(ni);
 
                 /* can't deref lnd anymore now; it might have unregistered
index 0541498..fbd98c2 100644 (file)
@@ -443,6 +443,7 @@ lnet_copy_kiov2kiov (unsigned int ndiov, lnet_kiov_t *diov, unsigned int doffset
                 return;
 
         LASSERT (!in_interrupt ());
+        LASSERT (!irqs_disabled ());
 
         LASSERT (ndiov > 0);
         while (doffset > diov->kiov_len) {
@@ -521,6 +522,7 @@ lnet_copy_kiov2iov (unsigned int niov, struct iovec *iov, unsigned int iovoffset
                 return;
 
         LASSERT (!in_interrupt ());
+        LASSERT (!irqs_disabled ());
 
         LASSERT (niov > 0);
         while (iovoffset > iov->iov_len) {
@@ -588,6 +590,7 @@ lnet_copy_iov2kiov (unsigned int nkiov, lnet_kiov_t *kiov, unsigned int kiovoffs
                 return;
 
         LASSERT (!in_interrupt ());
+        LASSERT (!irqs_disabled ());
 
         LASSERT (nkiov > 0);
         while (kiovoffset > kiov->kiov_len) {
@@ -700,7 +703,8 @@ lnet_ni_recv(lnet_ni_t *ni, void *private, lnet_msg_t *msg, int delayed,
         lnet_kiov_t  *kiov = NULL;
         int           rc;
         
-        LASSERT (!in_interrupt());        
+        LASSERT (!in_interrupt());      
+        LASSERT (!irqs_disabled ());  
         LASSERT (mlen == 0 || msg != NULL);
         
         if (msg != NULL) {
@@ -720,6 +724,7 @@ lnet_ni_recv(lnet_ni_t *ni, void *private, lnet_msg_t *msg, int delayed,
         
         rc = (ni->ni_lnd->lnd_recv)(ni, private, msg, delayed,
                                     niov, iov, kiov, offset, mlen, rlen);
+        LASSERT(!irqs_disabled());                                    
         if (rc < 0)
                 lnet_finalize(ni, msg, rc);
 }
@@ -792,7 +797,8 @@ lnet_ni_send(lnet_ni_t *ni, lnet_msg_t *msg)
         int     delayed = msg->msg_delayed;
         int     rc;
 \r
-        LASSERT (!in_interrupt());        
+        LASSERT (!in_interrupt());  
+        LASSERT (!irqs_disabled ());      
 
         /* On GET, call lnet_ni_recv() right after the send. The recv gets
          * delayed until after the send to ensure the LND still has any RDMA
@@ -809,6 +815,7 @@ lnet_ni_send(lnet_ni_t *ni, lnet_msg_t *msg)
                  (msg->msg_txcredit && msg->msg_peertxcredit));
 
         rc = (ni->ni_lnd->lnd_send)(ni, priv, msg);
+        LASSERT(!irqs_disabled());
         if (rc < 0)
                 lnet_finalize(ni, msg, rc);
         
@@ -1682,8 +1689,9 @@ lnet_parse(lnet_ni_t *ni, lnet_hdr_t *hdr, lnet_nid_t from_nid, void *private)
         __u32          payload_length;
         __u32          type;
 
-        LASSERT (!in_interrupt());\r
-
+        LASSERT (!in_interrupt());
+        LASSERT (!irqs_disabled ());
+        
         type = le32_to_cpu(hdr->type);
         src_nid = le64_to_cpu(hdr->src_nid);
         dest_nid = le64_to_cpu(hdr->dest_nid);