[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;
 }