[DRBD-cvs] svn commit by lars - r2291 - branches/drbd-0.7/drbd - thinko; don't unconditionally assign w_resync_inactive

drbd-cvs at lists.linbit.com drbd-cvs at lists.linbit.com
Thu Jul 20 14:41:45 CEST 2006


Author: lars
Date: 2006-07-20 14:41:44 +0200 (Thu, 20 Jul 2006)
New Revision: 2291

Modified:
   branches/drbd-0.7/drbd/drbd_worker.c
Log:
thinko; don't unconditionally assign w_resync_inactive in worker cleanup...

Modified: branches/drbd-0.7/drbd/drbd_worker.c
===================================================================
--- branches/drbd-0.7/drbd/drbd_worker.c	2006-07-20 12:16:40 UTC (rev 2290)
+++ branches/drbd-0.7/drbd/drbd_worker.c	2006-07-20 12:41:44 UTC (rev 2291)
@@ -1015,7 +1015,16 @@
 			_drbd_queue_work(&mdev->data.work,&mdev->resync_work);
 		// else: already queued
 	} else {
-		mdev->resync_work.cb = w_resync_inactive;
+		/* timer already consumed that bit, or it was never set */
+		if (list_empty(&mdev->resync_work.list)) {
+			/* not queued, should be inactive */
+			ERR_IF (mdev->resync_work.cb != w_resync_inactive)
+				mdev->resync_work.cb = w_resync_inactive;
+		} else {
+			/* still queued; should be w_resume_next_sg */
+			ERR_IF (mdev->resync_work.cb != w_resume_next_sg)
+				mdev->resync_work.cb = w_resume_next_sg;
+		}
 	}
 
 	i = 0;



More information about the drbd-cvs mailing list