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