+++ /dev/null
-Bottom: 15d584ee23e38f450359c3caea511818f5bf14c0
-Top: f1083d042db3658ee98dca601a0a2fd94d4cb12a
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-08-17 16:41:04 -0700
-
-librdmacm: Re-enable ibacm support
-
-Commit 272c3cc024d0e5854cbafa6c2f1e8560398a68d7, "Delay ACM
-connection until resolving an address", removed the call to
-ucma_ib_init without adding it back in the correct location.
-As a result, the librdmacm no longer uses ibacm. Fix this
-by adding the initialization call when resolving an address.
-
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/src/acm.c b/src/acm.c
-index 5bdeb88..458e23d 100755
---- a/src/acm.c
-+++ b/src/acm.c
-@@ -326,6 +326,7 @@ void ucma_ib_resolve(struct rdma_addrinfo **rai, struct rdma_addrinfo *hints)
- struct acm_ep_addr_data *data;
- int ret;
-
-+ ucma_ib_init();
- if (sock < 0)
- return;
+++ /dev/null
-Bottom: f1083d042db3658ee98dca601a0a2fd94d4cb12a
-Top: 30191aa638f3f574e67a71c82fa7771bcc620c52
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-08-20 09:06:49 -0700
-
-rspreload: Fix checks in fork_active/passive
-
-Fix passing in wrong variable to rconnect(), check state instead
-of type, and move call to getpeername until after we are sure than
-the normal socket connection has completed.
-
-Problems pointed out by Sridhar Samudrala <sri@us.ibm.com>
-
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/src/preload.c b/src/preload.c
-index 8f19af5..0645f6d 100644
---- a/src/preload.c
-+++ b/src/preload.c
-@@ -504,6 +504,13 @@ static void fork_active(int socket)
-
- sfd = fd_getd(socket);
-
-+ flags = real.fcntl(sfd, F_GETFL);
-+ real.fcntl(sfd, F_SETFL, 0);
-+ ret = real.recv(sfd, &msg, sizeof msg, MSG_PEEK);
-+ real.fcntl(sfd, F_SETFL, flags);
-+ if ((ret != sizeof msg) || msg)
-+ goto err1;
-+
- len = sizeof addr;
- ret = real.getpeername(sfd, (struct sockaddr *) &addr, &len);
- if (ret)
-@@ -513,14 +520,7 @@ static void fork_active(int socket)
- if (dfd < 0)
- goto err1;
-
-- flags = real.fcntl(sfd, F_GETFL);
-- real.fcntl(sfd, F_SETFL, 0);
-- ret = real.recv(sfd, &msg, sizeof msg, MSG_PEEK);
-- real.fcntl(sfd, F_SETFL, flags);
-- if ((ret != sizeof msg) || msg)
-- goto err2;
--
-- ret = rconnect(ret, (struct sockaddr *) &addr, len);
-+ ret = rconnect(dfd, (struct sockaddr *) &addr, len);
- if (ret)
- goto err2;
-
-@@ -618,9 +618,9 @@ static inline enum fd_type fd_fork_get(int index, int *fd)
-
- fdi = idm_lookup(&idm, index);
- if (fdi) {
-- if (fdi->type == fd_fork_passive)
-+ if (fdi->state == fd_fork_passive)
- fork_passive(index);
-- else if (fdi->type == fd_fork_active)
-+ else if (fdi->state == fd_fork_active)
- fork_active(index);
- *fd = fdi->fd;
- return fdi->type;