[DRBD-cvs] r1657 - branches/drbd-0.7/drbd

svn at svn.drbd.org svn at svn.drbd.org
Thu Nov 25 09:09:13 CET 2004


Author: phil
Date: 2004-11-25 09:09:10 +0100 (Thu, 25 Nov 2004)
New Revision: 1657

Modified:
   branches/drbd-0.7/drbd/drbd_bitmap.c
Log:
drbd_bm_total_weight() is called from several
     places with IRQs disabled! Therefore it has to
     use the spin_*_irqsave|irqrestore() variants.
     ...from  __drbd_set_in_sync(), _drbd_rs_resume(),
     _drbd_rs_pause()


Modified: branches/drbd-0.7/drbd/drbd_bitmap.c
===================================================================
--- branches/drbd-0.7/drbd/drbd_bitmap.c	2004-11-25 00:52:01 UTC (rev 1656)
+++ branches/drbd-0.7/drbd/drbd_bitmap.c	2004-11-25 08:09:10 UTC (rev 1657)
@@ -380,13 +380,14 @@
 {
 	struct drbd_bitmap *b = mdev->bitmap;
 	unsigned long s;
+	unsigned long flags;
 
 	D_BUG_ON(!(b && b->bm));
 	// MUST_BE_LOCKED(); well. yes. but ...
 
-	spin_lock_irq(&b->bm_lock);
+	spin_lock_irqsave(&b->bm_lock,flags);
 	s = b->bm_set;
-	spin_unlock_irq(&b->bm_lock);
+	spin_unlock_irqrestore(&b->bm_lock,flags);
 
 	return s;
 }



More information about the drbd-cvs mailing list