rc = ibv_post_recv(pconn->cm_id->qp, &wr, &bad_wr);
if (rc) {
sprintf(ibw_lasterr, "refill/ibv_post_recv failed with %d\n", rc);
- DEBUG(0, (ibw_lasterr));
+ DEBUG(DEBUG_ERR, (ibw_lasterr));
return -2;
}
rc = ibv_post_recv(pconn->cm_id->qp, &wr, &bad_wr);
if (rc) {
sprintf(ibw_lasterr, "fill/ibv_post_recv failed with %d\n", rc);
- DEBUG(0, (ibw_lasterr));
+ DEBUG(DEBUG_ERR, (ibw_lasterr));
return -2;
}
}
if (!pconn->is_accepted) {
rc = rdma_reject(cma_id, NULL, 0);
if (rc)
- DEBUG(0, ("rdma_reject failed with rc=%d\n", rc));
+ DEBUG(DEBUG_ERR, ("rdma_reject failed with rc=%d\n", rc));
talloc_free(conn);
DEBUG(DEBUG_DEBUG, ("pconn->cm_id %p wasn't accepted\n", pconn->cm_id));
}
if (conn) {
/* must be done BEFORE connstate */
if ((rc=rdma_ack_cm_event(event)))
- DEBUG(0, ("reject/rdma_ack_cm_event failed with %d\n", rc));
+ DEBUG(DEBUG_ERR, ("reject/rdma_ack_cm_event failed with %d\n", rc));
event = NULL; /* not to touch cma_id or conn */
conn->state = IBWC_ERROR;
/* it should free the conn */
case RDMA_CM_EVENT_DISCONNECTED:
DEBUG(DEBUG_DEBUG, ("RDMA_CM_EVENT_DISCONNECTED\n"));
if ((rc=rdma_ack_cm_event(event)))
- DEBUG(0, ("disc/rdma_ack_cm_event failed with %d\n", rc));
+ DEBUG(DEBUG_ERR, ("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(DEBUG_ERR, ("client DISCONNECT event cm_id=%p\n", cma_id));
conn = talloc_get_type(cma_id->context, struct ibw_conn);
conn->state = IBWC_DISCONNECTED;
pctx->connstate_func(NULL, conn);
return;
error:
- DEBUG(0, ("cm event handler: %s", ibw_lasterr));
+ DEBUG(DEBUG_ERR, ("cm event handler: %s", ibw_lasterr));
if (event!=NULL) {
if (cma_id!=NULL && cma_id!=pctx->cm_id) {
}
if ((rc=rdma_ack_cm_event(event))!=0) {
- DEBUG(0, ("rdma_ack_cm_event failed with %d\n", rc));
+ DEBUG(DEBUG_ERR, ("rdma_ack_cm_event failed with %d\n", rc));
}
}
error:
ibv_ack_cq_events(pconn->cq, 1);
- DEBUG(0, (ibw_lasterr));
+ DEBUG(DEBUG_ERR, (ibw_lasterr));
if (conn->state!=IBWC_ERROR) {
conn->state = IBWC_ERROR;
}
if (part->to_read==0) {
- pctx->receive_func(conn, part->buf, part->len);
+ if (pctx->receive_func(conn, part->buf, part->len) != 0) {
+ goto error;
+ }
part->len = 0; /* tells not having partial data (any more) */
if (ibw_wc_mem_threshold(pconn, part, pctx->opts.recv_threshold))
goto error;
/* mostly awaited case: */
if (msglen<=remain) {
- pctx->receive_func(conn, p, msglen);
+ if (pctx->receive_func(conn, p, msglen) != 0) {
+ goto error;
+ }
p += msglen;
remain -= msglen;
} else {
return 0;
error:
- DEBUG(0, ("ibw_wc_recv error: %s", ibw_lasterr));
+ DEBUG(DEBUG_ERR, ("ibw_wc_recv error: %s", ibw_lasterr));
return -1;
}
return ctx;
/* don't put code here */
cleanup:
- DEBUG(0, (ibw_lasterr));
+ DEBUG(DEBUG_ERR, (ibw_lasterr));
if (ctx)
talloc_free(ctx);
rc = rdma_bind_addr(pctx->cm_id, (struct sockaddr *) my_addr);
if (rc) {
sprintf(ibw_lasterr, "rdma_bind_addr error %d\n", rc);
- DEBUG(0, (ibw_lasterr));
+ DEBUG(DEBUG_ERR, (ibw_lasterr));
return rc;
}
DEBUG(DEBUG_DEBUG, ("rdma_bind_addr successful\n"));
rc = rdma_listen(pctx->cm_id, backlog);
if (rc) {
sprintf(ibw_lasterr, "rdma_listen failed: %d\n", rc);
- DEBUG(0, (ibw_lasterr));
+ DEBUG(DEBUG_ERR, (ibw_lasterr));
return rc;
}
rc = rdma_accept(pconn->cm_id, &conn_param);
if (rc) {
sprintf(ibw_lasterr, "rdma_accept failed %d\n", rc);
- DEBUG(0, (ibw_lasterr));
+ DEBUG(DEBUG_ERR, (ibw_lasterr));
return -1;;
}
/* clean previous - probably half - initialization */
if (ibw_conn_priv_destruct(pconn)) {
- DEBUG(0, ("ibw_connect/ibw_pconn_destruct failed for cm_id=%p\n", pconn->cm_id));
+ DEBUG(DEBUG_ERR, ("ibw_connect/ibw_pconn_destruct failed for cm_id=%p\n", pconn->cm_id));
return -1;
}
rc = rdma_resolve_addr(pconn->cm_id, NULL, (struct sockaddr *) serv_addr, 2000);
if (rc) {
sprintf(ibw_lasterr, "rdma_resolve_addr error %d\n", rc);
- DEBUG(0, (ibw_lasterr));
+ DEBUG(DEBUG_ERR, (ibw_lasterr));
talloc_free(conn);
return -1;
}
rc = rdma_disconnect(pconn->cm_id);
if (rc) {
sprintf(ibw_lasterr, "ibw_disconnect failed with %d\n", rc);
- DEBUG(0, (ibw_lasterr));
+ DEBUG(DEBUG_ERR, (ibw_lasterr));
return rc;
}
break;
pconn->extra_max++;
switch(pconn->extra_max) {
case 1: DEBUG(DEBUG_INFO, ("warning: queue performed\n")); break;
- case 10: DEBUG(0, ("warning: queue reached 10\n")); break;
- case 100: DEBUG(0, ("warning: queue reached 100\n")); break;
- case 1000: DEBUG(0, ("warning: queue reached 1000\n")); break;
+ case 10: DEBUG(DEBUG_INFO, ("warning: queue reached 10\n")); break;
+ case 100: DEBUG(DEBUG_INFO, ("warning: queue reached 100\n")); break;
+ case 1000: DEBUG(DEBUG_INFO, ("warning: queue reached 1000\n")); break;
default: break;
}
}
return 0;
error:
- DEBUG(0, ("ibw_alloc_send_buf error: %s", ibw_lasterr));
+ DEBUG(DEBUG_ERR, ("ibw_alloc_send_buf error: %s", ibw_lasterr));
return -1;
}
return 0;
error:
- DEBUG(0, (ibw_lasterr));
+ DEBUG(DEBUG_ERR, (ibw_lasterr));
return -1;
}