ib: Make infiniband transport compile again
authorAmitay Isaacs <amitay@gmail.com>
Wed, 28 May 2014 00:40:29 +0000 (10:40 +1000)
committerAmitay Isaacs <amitay@gmail.com>
Thu, 29 May 2014 04:05:14 +0000 (14:05 +1000)
Update included header files and fix compilation warnings.

  ib/ibwrapper.c: In function ‘ibw_stop’:
  ib/ibwrapper.c:1015:17: warning: comparison between ‘enum ibw_state_ctx’ and ‘enum ibw_state_conn’ [-Wenum-compare]
     if (ctx->state==IBWC_ERROR || ctx->state==IBWC_CONNECTED) {
                 ^
  ib/ibwrapper.c:1015:43: warning: comparison between ‘enum ibw_state_ctx’ and ‘enum ibw_state_conn’ [-Wenum-compare]
     if (ctx->state==IBWC_ERROR || ctx->state==IBWC_CONNECTED) {

The current logic just seems wrong.  The context of this line and the
error checking in ibw_disconnect() suggest that these comparisons
should use p->state rather than ctx->state, so do that.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
(Imported from commit f2ef23cd5f227d2da2f032a2a56fbdd4d105b137)

Makefile.in
ib/config.m4
ib/ibw_ctdb_init.c
ib/ibwrapper.c
ib/ibwrapper_test.c

index ba90ae6ca4b3cd17a14deb4117f0ca5cccf68aa3..84c6940d0862f85879d585c12a930cc218f667b4 100755 (executable)
@@ -91,6 +91,8 @@ CTDB_COMMON_OBJ =  common/ctdb_io.o common/ctdb_util.o \
 
 CTDB_TCP_OBJ = tcp/tcp_connect.o tcp/tcp_io.o tcp/tcp_init.o
 
+CTDB_IB_OBJ = @INFINIBAND_WRAPPER_OBJ@
+
 CTDB_EXTERNAL_OBJ = $(POPT_OBJ) $(TALLOC_OBJ) $(TDB_OBJ) \
        $(REPLACE_OBJ) $(EXTRA_OBJ) $(TEVENT_OBJ) $(SOCKET_WRAPPER_OBJ)
 
@@ -106,7 +108,7 @@ CTDB_SERVER_OBJ = server/ctdbd.o server/ctdb_daemon.o \
        server/ctdb_keepalive.o server/ctdb_logging.o server/ctdb_uptime.o \
        server/ctdb_vacuum.o server/ctdb_banning.o server/ctdb_statistics.o \
        server/ctdb_update_record.o server/ctdb_lock.o \
-       $(CTDB_CLIENT_OBJ) $(CTDB_TCP_OBJ) @INFINIBAND_WRAPPER_OBJ@
+       $(CTDB_CLIENT_OBJ) $(CTDB_TCP_OBJ) $(CTDB_IB_OBJ)
 
 TEST_BINS=tests/bin/ctdb_bench tests/bin/ctdb_fetch tests/bin/ctdb_fetch_one \
        tests/bin/ctdb_fetch_readonly_once tests/bin/ctdb_fetch_readonly_loop \
@@ -278,9 +280,9 @@ CTDB_TEST_OBJ =  $(TALLOC_OBJ) $(TDB_OBJ) \
 
 tests/src/ctdb_takeover_tests.o: tests/src/ctdb_takeover_tests.c $(CTDBD_TEST_C)
 
-tests/bin/ctdb_takeover_tests: $(CTDB_TEST_OBJ) tests/src/ctdb_takeover_tests.o
+tests/bin/ctdb_takeover_tests: $(CTDB_TEST_OBJ) tests/src/ctdb_takeover_tests.o $(CTDB_IB_OBJ)
        @echo Linking $@
-       $(WRAPPER) $(CC) $(CFLAGS) -o $@ tests/src/ctdb_takeover_tests.o $(CTDB_TEST_OBJ) $(LIB_FLAGS)
+       $(WRAPPER) $(CC) $(CFLAGS) -o $@ tests/src/ctdb_takeover_tests.o $(CTDB_IB_OBJ) $(CTDB_TEST_OBJ) $(LIB_FLAGS)
 
 tests/src/ctdb_functest.o: tests/src/ctdb_functest.c tests/src/ctdb_test.c $(CTDB_TEST_C)
 
@@ -298,9 +300,9 @@ tests/bin/ctdb_lock_tdb: tests/src/ctdb_lock_tdb.o $(CTDB_CLIENT_OBJ)
        @echo Linking $@
        $(WRAPPER) $(CC) $(CFLAGS) -o $@ $^ $(LIB_FLAGS)
 
-tests/bin/ibwrapper_test: $(CTDB_CLIENT_OBJ) ib/ibwrapper_test.o
+tests/bin/ibwrapper_test: $(CTDB_CLIENT_OBJ) ib/ibwrapper_test.o $(CTDB_IB_OBJ)
        @echo Linking $@
-       $(WRAPPER) $(CC) $(CFLAGS) -o $@ ib/ibwrapper_test.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS)
+       $(WRAPPER) $(CC) $(CFLAGS) -o $@ ib/ibwrapper_test.o $(CTDB_CLIENT_OBJ) $(CTDB_IB_OBJ) $(LIB_FLAGS)
 
 manpages:
        $(MAKE) -C doc
index 47d6facd34ff0769aaf9f5138cf0d2b7f295f0a5..6c626bdc7fe10a9b71e81e94b78a2661f4c2f9bd 100644 (file)
@@ -1,4 +1,4 @@
-AC_ARG_ENABLE(--enable-infiniband, 
+AC_ARG_ENABLE(infiniband,
 [  --enable-infiniband         Turn on infiniband support (default=no)])
 
 HAVE_INFINIBAND=no
index 066814d12ff4a3b8c186e46666cdb5bc972c22f5..63deff28430acd864a44baefc8ccd7495ee09dee 100644 (file)
@@ -26,6 +26,7 @@
 #include "ctdb_private.h"
 #include "ibwrapper.h"
 #include "ibw_ctdb.h"
+#include "lib/util/dlinklist.h"
 
 static int ctdb_ibw_listen(struct ctdb_context *ctdb, int backlog)
 {
@@ -99,7 +100,7 @@ static int ctdb_ibw_initialise(struct ctdb_context *ctdb)
  */
 static int ctdb_ibw_start(struct ctdb_context *ctdb)
 {
-       int i, ret;
+       int i;
 
        /* everything async here */
        for (i=0;i<ctdb->num_nodes;i++) {
index f6e71687f324856d16868e61ce8e9f458d512822..3daab3e3c72b75a0833b13189203f785e366c325 100644 (file)
@@ -34,7 +34,6 @@
 #include <unistd.h>
 
 #include "includes.h"
-#include "lib/events/events.h"
 #include "ibwrapper.h"
 
 #include <infiniband/kern-abi.h>
@@ -1013,7 +1012,7 @@ int ibw_stop(struct ibw_ctx *ctx)
        DEBUG(DEBUG_DEBUG, ("ibw_stop\n"));
 
        for(p=ctx->conn_list; p!=NULL; p=p->next) {
-               if (ctx->state==IBWC_ERROR || ctx->state==IBWC_CONNECTED) {
+               if (p->state==IBWC_ERROR || p->state==IBWC_CONNECTED) {
                        if (ibw_disconnect(p))
                                return -1;
                }
index ba54286ace60cf2570a1e605c89530932a5ebc17..48162c328a657af3575608bfb6d84df40d494841 100644 (file)
@@ -325,7 +325,7 @@ int ibwtest_receive_handler(struct ibw_conn *conn, void *buf, int n)
                                n - sizeof(uint32_t) - 2);
                        DEBUG(DEBUG_DEBUG, ("[%d]msg varsize %u/sum %u from %s\n",
                                op,
-                               n - sizeof(uint32_t) - 2,
+                               (uint32_t)(n - sizeof(uint32_t) - 2),
                                (uint32_t)sum,
                                tconn->id ? tconn->id : "NULL"));
                        if (sum!=((unsigned char *)buf)[n-1]) {