[openib-general] [PATCH] cmpost: allow cmpost to build with latest RDMA CM
Bub Thomas
thomas.bub at thomson.net
Wed Aug 16 06:49:18 PDT 2006
Sean,
Thanks for the quick reply.
Some errors got resolved some new added.
Some of the errors but not all are caused by the picky gcc 3.4.4 that I
could avoid by some casting.
I left them all in to give you the whole picture.
Here is the actual output:
cmpost.c:65: error: field `path_rec' has incomplete type
cmpost.c: In function `int modify_to_rtr(cmtest_node*)':
cmpost.c:130: error: invalid conversion from `int' to `ibv_qp_attr_mask'
cmpost.c:130: error: initializing argument 3 of `int
ibv_modify_qp(ibv_qp*, ibv_qp_attr*, ibv_qp_attr_mask)'
cmpost.c:142: error: invalid conversion from `int' to `ibv_qp_attr_mask'
cmpost.c:142: error: initializing argument 3 of `int
ibv_modify_qp(ibv_qp*, ibv_qp_attr*, ibv_qp_attr_mask)'
cmpost.c: In function `int modify_to_rts(cmtest_node*)':
cmpost.c:161: error: invalid conversion from `int' to `ibv_qp_attr_mask'
cmpost.c:161: error: initializing argument 3 of `int
ibv_modify_qp(ibv_qp*, ibv_qp_attr*, ibv_qp_attr_mask)'
cmpost.c: In function `void cm_handler(ib_cm_id*, ib_cm_event*)':
cmpost.c:267: error: invalid conversion from `void*' to `cmtest_node*'
cmpost.c: In function `int create_nodes()':
cmpost.c:353: error: invalid conversion from `void*' to `cmtest_node*'
cmpost.c: In function `int query_for_path(char*)':
cmpost.c:631: error: `RDMA_PS_TCP' undeclared (first use this function)
cmpost.c:631: error: (Each undeclared identifier is reported only once
for each function it appears in.)
cmpost.c:657: error: 'struct cmtest' has no member named 'path_rec'
cmpost.c:657: error: invalid use of undefined type `struct
ibv_sa_path_rec'
/vob/pkgs/sys/linux-include/rdma/rdma_cma.h:84: error: forward
declaration of `struct ibv_sa_path_rec'
cmpost.c: In function `void run_client(char*)':
cmpost.c:678: error: 'struct cmtest' has no member named 'path_rec'
*** Error code 1
clearmake: Error: Build script failed for "cmpost.o"
Thomas
-----Original Message-----
From: Sean Hefty [mailto:sean.hefty at intel.com]
Sent: Tuesday, August 15, 2006 6:11 PM
To: Bub Thomas; openib-general at openib.org
Cc: Erez Cohen
Subject: [PATCH] cmpost: allow cmpost to build with latest RDMA CM
Can you see if this patch lets you build compost?
Signed-off-by: Sean Hefty <sean.hefty at intel.com>
---
Index: examples/cmpost.c
===================================================================
--- examples/cmpost.c (revision 8215)
+++ examples/cmpost.c (working copy)
@@ -614,6 +614,7 @@ out:
static int query_for_path(char *dst)
{
+ struct rdma_event_channel *channel;
struct rdma_cm_id *id;
struct sockaddr_in addr_in;
struct rdma_cm_event *event;
@@ -623,15 +624,19 @@ static int query_for_path(char *dst)
if (ret)
return ret;
- ret = rdma_create_id(&id, NULL);
+ channel = rdma_create_event_channel();
+ if (!channel)
+ return -1;
+
+ ret = rdma_create_id(channel, &id, NULL, RDMA_PS_TCP);
if (ret)
- return ret;
+ goto destroy_channel;
ret = rdma_resolve_addr(id, NULL, (struct sockaddr *) &addr_in,
2000);
if (ret)
goto out;
- ret = rdma_get_cm_event(&event);
+ ret = rdma_get_cm_event(channel, &event);
if (!ret && event->event != RDMA_CM_EVENT_ADDR_RESOLVED)
ret = event->status;
rdma_ack_cm_event(event);
@@ -642,7 +647,7 @@ static int query_for_path(char *dst)
if (ret)
goto out;
- ret = rdma_get_cm_event(&event);
+ ret = rdma_get_cm_event(channel, &event);
if (!ret && event->event != RDMA_CM_EVENT_ROUTE_RESOLVED)
ret = event->status;
rdma_ack_cm_event(event);
@@ -652,6 +657,8 @@ static int query_for_path(char *dst)
test.path_rec = id->route.path_rec[0];
out:
rdma_destroy_id(id);
+destroy_channel:
+ rdma_destroy_event_channel(channel);
return ret;
}
More information about the general
mailing list