diff options
author | Peter Somogyi <psomogyi@gamax.hu> | 2007-02-15 17:02:38 +0100 |
---|---|---|
committer | Peter Somogyi <psomogyi@gamax.hu> | 2007-02-15 17:02:38 +0100 |
commit | 199a5befb65ebc6ce0153a4e18993a7da97e7527 (patch) | |
tree | 99bb70a547ba9f5cc3bf23cd52241664da116e81 /ctdb/ib/ibwrapper.c | |
parent | 1c8bcd6f5718a675f8a382d143d82871aac85296 (diff) | |
download | samba-199a5befb65ebc6ce0153a4e18993a7da97e7527.tar.gz samba-199a5befb65ebc6ce0153a4e18993a7da97e7527.tar.xz samba-199a5befb65ebc6ce0153a4e18993a7da97e7527.zip |
1st working ib integrated ctdb
TODO: bugfix of ctdb_bench (wants to sent via uninitialised connection - see bench_ring/dest)
(This used to be ctdb commit 61516461e9d45dc7ba87518d134894fed7d7b7cd)
Diffstat (limited to 'ctdb/ib/ibwrapper.c')
-rw-r--r-- | ctdb/ib/ibwrapper.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/ctdb/ib/ibwrapper.c b/ctdb/ib/ibwrapper.c index fef312678a5..f3ef0c4c5cd 100644 --- a/ctdb/ib/ibwrapper.c +++ b/ctdb/ib/ibwrapper.c @@ -775,7 +775,7 @@ static int ibw_wc_recv(struct ibw_conn *conn, struct ibv_wc *wc) if (part->len<=sizeof(uint32_t) && part->to_read==0) { assert(part->len==sizeof(uint32_t)); /* set it again now... */ - part->to_read = ntohl(*((uint32_t *)(part->buf))); + part->to_read = *((uint32_t *)(part->buf)); /* TODO: ntohl */ if (part->to_read<sizeof(uint32_t)) { sprintf(ibw_lasterr, "got msglen=%u #2\n", part->to_read); goto error; @@ -791,7 +791,7 @@ static int ibw_wc_recv(struct ibw_conn *conn, struct ibv_wc *wc) } } else { if (remain>=sizeof(uint32_t)) { - uint32_t msglen = ntohl(*(uint32_t *)p); + uint32_t msglen = *(uint32_t *)p; /* TODO: ntohl */ if (msglen<sizeof(uint32_t)) { sprintf(ibw_lasterr, "got msglen=%u\n", msglen); goto error; @@ -1028,7 +1028,8 @@ int ibw_connect(struct ibw_ctx *ctx, struct sockaddr_in *serv_addr, void *conn_u if (rc) { rc = errno; sprintf(ibw_lasterr, "ibw_connect/rdma_create_id error %d\n", rc); - return rc; + talloc_free(conn); + return -1; } DEBUG(10, ("ibw_connect: rdma_create_id succeeded, cm_id=%p\n", pconn->cm_id)); @@ -1196,7 +1197,7 @@ int ibw_send(struct ibw_conn *conn, void *buf, void *key, uint32_t len) int rc; assert(len>=sizeof(uint32_t)); - *((uint32_t *)buf) = htonl(len); + assert((*((uint32_t *)buf)==len)); /* TODO: htonl */ if (len > pctx->opts.recv_bufsize) { struct ibw_conn_priv *pconn = talloc_get_type(conn->internal, struct ibw_conn_priv); |