[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