------------------------------------------------------------
revno: 88
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Peter Somogyi <[EMAIL PROTECTED]>
branch nick: ctdb
timestamp: Fri 2007-04-27 17:12:20 +0200
message:
  ctdb/ib: disconnect error handling rearrangement
modified:
  ib/ibwrapper.c                 ibwrapper.c-20061204130028-0125b4f5a72f4b11
=== modified file 'ib/ibwrapper.c'
--- a/ib/ibwrapper.c    2007-04-26 14:54:24 +0000
+++ b/ib/ibwrapper.c    2007-04-27 15:12:20 +0000
@@ -534,13 +534,14 @@
 
        case RDMA_CM_EVENT_DISCONNECTED:
                DEBUG(11, ("RDMA_CM_EVENT_DISCONNECTED\n"));
-               if ((rc=rdma_ack_cm_event(event)))
-                       DEBUG(0, ("disc/rdma_ack_cm_event failed with %d\n", 
rc));
-               event = NULL; /* don't ack more */
-
                if (cma_id!=pctx->cm_id) {
-                       DEBUG(0, ("client DISCONNECT event cm_id=%p\n", 
cma_id));
+                       DEBUG(1, ("client DISCONNECT event cm_id=%p\n", 
cma_id));
                        conn = talloc_get_type(cma_id->context, struct 
ibw_conn);
+
+                       if ((rc=rdma_ack_cm_event(event)))
+                               DEBUG(0, ("disc/rdma_ack_cm_event failed with 
%d\n", rc));
+                       event = NULL; /* don't ack it any more */
+
                        conn->state = IBWC_DISCONNECTED;
                        pctx->connstate_func(NULL, conn);
                }

Reply via email to