[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