From: Sean Hefty Date: Mon, 20 Aug 2012 20:16:33 +0000 (-0700) Subject: commit X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=b413abe7627d0a7b719bba70eba975d4fb2366f6;p=~shefty%2Flibrdmacm.git commit --- diff --git a/meta b/meta index 725682c2..51734ea0 100644 --- a/meta +++ b/meta @@ -1,9 +1,7 @@ Version: 1 -Previous: c61c18028b1732d3cc71ba276095eff61004f590 +Previous: 4a96695d11c3910bf162357a15c3916d45ea5c26 Head: c488a747b95a7b2f3092c2d26185d42ab0e69645 Applied: - acm: 8a0c0b32f75f1b439b5665e6047713ff6ef37ef9 - rs-fix: c488a747b95a7b2f3092c2d26185d42ab0e69645 Unapplied: af_ib: 2e4bfa467343c57c68616c1922c01765df3ed1db dbg-out: 4b4c0572eab77856d8fbb919b1feb8f3502a101a diff --git a/patches/acm b/patches/acm deleted file mode 100644 index 74cd9d59..00000000 --- a/patches/acm +++ /dev/null @@ -1,29 +0,0 @@ -Bottom: 15d584ee23e38f450359c3caea511818f5bf14c0 -Top: f1083d042db3658ee98dca601a0a2fd94d4cb12a -Author: Sean Hefty -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 - - ---- - -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; diff --git a/patches/rs-fix b/patches/rs-fix deleted file mode 100644 index 90e6e7e7..00000000 --- a/patches/rs-fix +++ /dev/null @@ -1,64 +0,0 @@ -Bottom: f1083d042db3658ee98dca601a0a2fd94d4cb12a -Top: 30191aa638f3f574e67a71c82fa7771bcc620c52 -Author: Sean Hefty -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 - -Signed-off-by: Sean Hefty - - ---- - -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;