[DRBD-cvs] drbd by phil; Fixed a small but anyoing bug introduced...
drbd-user@lists.linbit.com
drbd-user@lists.linbit.com
Mon, 3 May 2004 17:59:30 +0200 (CEST)
DRBD CVS committal
Author : phil
Module : drbd
Dir : drbd/drbd
Modified Files:
Tag: rel-0_7-branch
drbd_actlog.c
Log Message:
Fixed a small but anyoing bug introduced with the last commit.
[the worker thread wich controls the resync was locking up...]
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/Attic/drbd_actlog.c,v
retrieving revision 1.1.2.95
retrieving revision 1.1.2.96
diff -u -3 -r1.1.2.95 -r1.1.2.96
--- drbd_actlog.c 3 May 2004 15:00:33 -0000 1.1.2.95
+++ drbd_actlog.c 3 May 2004 15:59:25 -0000 1.1.2.96
@@ -721,11 +721,11 @@
bm_ext = (struct bm_extent*) lc_get(mdev->resync,enr);
if (bm_ext) {
if(bm_ext->lce.lc_number != enr) {
- atomic_inc(&mdev->resync_locked);
bm_ext->rs_left = bm_count_sectors(mdev->mbds_id,enr);
lc_changed(mdev->resync,(struct lc_element*)bm_ext);
wake_up(&mdev->al_wait);
}
+ if(bm_ext->lce.refcnt == 1) atomic_inc(&mdev->resync_locked);
set_bit(BME_NO_WRITES,&bm_ext->flags); // within the lock
}
rs_flags=mdev->resync->flags;