[DRBD-cvs] drbd by phil; * The del_timer_sync() in the exit-path ...
drbd-user@lists.linbit.com
drbd-user@lists.linbit.com
Thu, 6 May 2004 15:59:19 +0200 (CEST)
DRBD CVS committal
Author : phil
Module : drbd
Dir : drbd/drbd
Modified Files:
Tag: rel-0_7-branch
drbd_dsender.c drbd_main.c drbd_receiver.c
Log Message:
* The del_timer_sync() in the exit-path of the worker, was wrong!
It was the reason for D_ASSERT(!test_bit(STOP_SYNC_TIMER,&mdev->flags));
* Silenced a lot of debug output.
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/Attic/drbd_dsender.c,v
retrieving revision 1.1.2.104
retrieving revision 1.1.2.105
diff -u -3 -r1.1.2.104 -r1.1.2.105
--- drbd_dsender.c 5 May 2004 17:07:02 -0000 1.1.2.104
+++ drbd_dsender.c 6 May 2004 13:59:13 -0000 1.1.2.105
@@ -816,7 +816,6 @@
mdev->gen_cnt[Flags] &= ~MDF_Consistent;
bm_reset(mdev->mbds_id);
D_ASSERT(!test_bit(STOP_SYNC_TIMER,&mdev->flags));
- clear_bit(STOP_SYNC_TIMER,&mdev->flags); // on the way out...
mod_timer(&mdev->resync_timer,jiffies);
} else {
// If we are SyncSource we must be consistent :)
@@ -861,10 +860,10 @@
break;
}
- ERR_IF (get_t_state(thi) != Running)
- break;
-
- // if (need_resched()) schedule();
+ if (get_t_state(thi) != Running) break;
+ /* With this break, we have done an down() but not consumed
+ the entry from the list. The cleanup code takes care of
+ this... */
w = 0;
spin_lock_irq(&mdev->req_lock);
@@ -874,14 +873,12 @@
spin_unlock_irq(&mdev->req_lock);
if(!w->cb(mdev,w, mdev->cstate < Connected )) {
- ERR("worker: a callback failed! \n");
+ //WARN("worker: a callback failed! \n");
if (mdev->cstate >= Connected)
set_cstate(mdev,NetworkFailure);
drbd_thread_restart_nowait(&mdev->receiver);
}
}
-
- del_timer_sync(&mdev->resync_timer); // just in case...
drbd_wait_ee(mdev,&mdev->read_ee);
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_main.c,v
retrieving revision 1.73.2.163
retrieving revision 1.73.2.164
diff -u -3 -r1.73.2.163 -r1.73.2.164
--- drbd_main.c 6 May 2004 11:53:00 -0000 1.73.2.163
+++ drbd_main.c 6 May 2004 13:59:13 -0000 1.73.2.164
@@ -389,8 +389,8 @@
os = mdev->cstate;
- INFO("%s [%d]: cstate %s --> %s\n", current->comm, current->pid,
- cstate_to_name(os), cstate_to_name(ns) );
+ /* INFO("%s [%d]: cstate %s --> %s\n", current->comm, current->pid,
+ cstate_to_name(os), cstate_to_name(ns) );*/
mdev->cstate = ns;
smp_mb();
@@ -2154,7 +2154,7 @@
return 0;
}
-#if 1
+#if DUMP_MD
#define MeGC(x) mdev->gen_cnt[x]
#define PeGC(x) be32_to_cpu(peer->gen_cnt[x])
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_receiver.c,v
retrieving revision 1.97.2.146
retrieving revision 1.97.2.147
diff -u -3 -r1.97.2.146 -r1.97.2.147
--- drbd_receiver.c 6 May 2004 12:44:10 -0000 1.97.2.146
+++ drbd_receiver.c 6 May 2004 13:59:14 -0000 1.97.2.147
@@ -827,7 +827,7 @@
struct Tl_epoch_entry *e;
e = read_in_block(mdev,data_size);
- ERR_IF(!e) return FALSE;
+ if(!e) return FALSE;
dec_rs_pending(mdev,HERE);
@@ -1581,7 +1581,7 @@
}
}
- INFO("receiver exiting\n");
+ INFO("receiver terminated\n");
return 0;
}