[DRBD-cvs] drbd by phil; Made some of the worker callbacks a bit ...

drbd-user@lists.linbit.com drbd-user@lists.linbit.com
Fri, 19 Mar 2004 15:25:59 +0100 (CET)


DRBD CVS committal

Author  : phil
Module  : drbd

Dir     : drbd/drbd


Modified Files:
      Tag: rel-0_7-branch
	drbd_dsender.c 


Log Message:
Made some of the worker callbacks a bit more noisy.

===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/Attic/drbd_dsender.c,v
retrieving revision 1.1.2.86
retrieving revision 1.1.2.87
diff -u -3 -r1.1.2.86 -r1.1.2.87
--- drbd_dsender.c	15 Mar 2004 17:32:19 -0000	1.1.2.86
+++ drbd_dsender.c	19 Mar 2004 14:25:54 -0000	1.1.2.87
@@ -358,13 +358,18 @@
 int w_io_error(drbd_dev* mdev, struct drbd_work* w,int cancel)
 {
 	drbd_request_t *req = (drbd_request_t*)w;
+	int ok;
 
 	// TODO send a "set_out_of_sync" packet to the peer
 
 	INVALIDATE_MAGIC(req);
 	mempool_free(req,drbd_request_mempool);
 
-	return drbd_io_error(mdev);
+	if(unlikely(cancel)) return 1;
+
+	ok = drbd_io_error(mdev);
+	if(unlikely(!ok)) ERR("Sending in w_io_error() failed\n");
+	return ok;
 }
 
 int w_read_retry_remote(drbd_dev* mdev, struct drbd_work* w,int cancel)
@@ -429,7 +434,10 @@
 	PARANOIA_BUG_ON(w != &mdev->resync_work);
 
 	if(unlikely(cancel)) return 1;
-	if(unlikely(mdev->cstate < Connected)) return 0;
+	if(unlikely(mdev->cstate < Connected)) {
+		ERR("Confused in w_make_resync_request()! cstate < Connected");
+		return 0;
+	}
 
 	D_ASSERT(mdev->cstate == SyncTarget);
 
@@ -462,8 +470,9 @@
 		}
 
 		inc_rs_pending(mdev);
-		ERR_IF(!drbd_send_drequest(mdev,RSDataRequest,
-					   sector,size,ID_SYNCER)) {
+		if(!drbd_send_drequest(mdev,RSDataRequest,
+				       sector,size,ID_SYNCER)) {
+			ERR("drbd_send_drequest() failed, aborting...");
 			dec_rs_pending(mdev,HERE);
 			return 0; // FAILED. worker will abort!
 		}
@@ -791,6 +800,7 @@
 
 	if(0) {
 	err:
+		ERR("A work callback returned not ok!\n");
 		drbd_thread_restart_nowait(&mdev->receiver);
 	}