Version: 1
-Previous: 12498d797f97b6ab9b6fcd97c1c0e4fd446de693
-Head: bfde75e44767f4f657f56efed662500ed579f096
+Previous: 4b3a4c71dc8a8091da6fb52b6dca808d875244cb
+Head: fe7c9af1453a9ae9b4b8835fb5cba91e9fbe20bf
Applied:
sa_family: 79ecff9afd483c22821eca679e7ed668035ab4c1
af_ib: ed14c624d882d21df3e2d0c022cffab0b7f664b9
- addrinfo-af-ib: ca4e1c2bb94dacd62d672f276e6bfa51ceefaa07
- refresh-temp: bfde75e44767f4f657f56efed662500ed579f096
+ addrinfo-af-ib: fe7c9af1453a9ae9b4b8835fb5cba91e9fbe20bf
Unapplied:
dbg-fork: 5679a32af8305db3c0406f9abb961259304a384a
dbg-out: 4b4c0572eab77856d8fbb919b1feb8f3502a101a
Bottom: 2e0a7d3ef44614a3f6760f3dad7fff7ae67386fc
-Top: 2e0a7d3ef44614a3f6760f3dad7fff7ae67386fc
+Top: c1b21c4763251b677707aec109830eb4fc78c975
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-08-28 12:33:04 -0700
---
-
+diff --git a/src/addrinfo.c b/src/addrinfo.c
+index 2da35f0..cb67e17 100755
+--- a/src/addrinfo.c
++++ b/src/addrinfo.c
+@@ -99,12 +99,21 @@ static void ucma_convert_to_ai(struct addrinfo *ai, struct rdma_addrinfo *rai)
+ ai->ai_next = NULL;
+ }
+
++static int ucma_copy_addr(struct sockaddr **dst, socklen_t *dst_len,
++ struct sockaddr *src, socklen_t src_len)
++{
++ *dst = malloc(src_len);
++ if (!(*dst))
++ return ERR(ENOMEM);
++
++ memcpy(*dst, src, src_len);
++ *dst_len = src_len;
++ return 0;
++}
++
+ static int ucma_convert_to_rai(struct rdma_addrinfo *rai,
+ struct rdma_addrinfo *hints, struct addrinfo *ai)
+ {
+- struct sockaddr *addr;
+- char *canonname;
+-
+ rai->ai_family = ai->ai_family;
+
+ if (hints && hints->ai_qp_type) {
+@@ -133,24 +142,17 @@ static int ucma_convert_to_rai(struct rdma_addrinfo *rai,
+ }
+ }
+
+- addr = malloc(ai->ai_addrlen);
+- if (!addr)
+- return ERR(ENOMEM);
+-
+- canonname = ai->ai_canonname ? strdup(ai->ai_canonname) : NULL;
+-
+- memcpy(addr, ai->ai_addr, ai->ai_addrlen);
+ if (ai->ai_flags & RAI_PASSIVE) {
+- rai->ai_src_addr = addr;
+- rai->ai_src_len = ai->ai_addrlen;
+- rai->ai_src_canonname = canonname;
++ if (ai->ai_canonname)
++ rai->ai_src_canonname = strdup(ai->ai_canonname);
++ return ucma_copy_addr(&rai->ai_src_addr, &rai->ai_src_len,
++ ai->ai_addr, ai->ai_addrlen);
+ } else {
+- rai->ai_dst_addr = addr;
+- rai->ai_dst_len = ai->ai_addrlen;
+- rai->ai_dst_canonname = canonname;
++ if (ai->ai_canonname)
++ rai->ai_dst_canonname = strdup(ai->ai_canonname);
++ return ucma_copy_addr(&rai->ai_dst_addr, &rai->ai_dst_len,
++ ai->ai_addr, ai->ai_addrlen);
+ }
+-
+- return 0;
+ }
+
+ static int ucma_convert_gai(char *node, char *service,
+@@ -178,18 +180,6 @@ static int ucma_convert_gai(char *node, char *service,
+ return ret;
+ }
+
+-static int ucma_copy_ai_addr(struct sockaddr **dst, socklen_t *dst_len,
+- struct sockaddr *src, socklen_t src_len)
+-{
+- *dst = calloc(1, src_len);
+- if (!(*dst))
+- return ERR(ENOMEM);
+-
+- memcpy(*dst, src, src_len);
+- *dst_len = src_len;
+- return 0;
+-}
+-
+ int rdma_getaddrinfo(char *node, char *service,
+ struct rdma_addrinfo *hints,
+ struct rdma_addrinfo **res)
+@@ -216,16 +206,16 @@ int rdma_getaddrinfo(char *node, char *service,
+ rai->ai_qp_type = hints->ai_qp_type;
+ rai->ai_port_space = hints->ai_port_space;
+ if (hints->ai_dst_len) {
+- ret = ucma_copy_ai_addr(&rai->ai_dst_addr, &rai->ai_dst_len,
+- hints->ai_dst_addr, hints->ai_dst_len);
++ ret = ucma_copy_addr(&rai->ai_dst_addr, &rai->ai_dst_len,
++ hints->ai_dst_addr, hints->ai_dst_len);
+ }
+ }
+ if (ret)
+ goto err;
+
+ if (!rai->ai_src_len && hints && hints->ai_src_len) {
+- ret = ucma_copy_ai_addr(&rai->ai_src_addr, &rai->ai_src_len,
+- hints->ai_src_addr, hints->ai_src_len);
++ ret = ucma_copy_addr(&rai->ai_src_addr, &rai->ai_src_len,
++ hints->ai_src_addr, hints->ai_src_len);
+ if (ret)
+ goto err;
+ }
+++ /dev/null
-Bottom: 2e0a7d3ef44614a3f6760f3dad7fff7ae67386fc
-Top: c1b21c4763251b677707aec109830eb4fc78c975
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-08-28 17:36:46 -0700
-
-Refresh of addrinfo-af-ib
-
----
-
-diff --git a/src/addrinfo.c b/src/addrinfo.c
-index 2da35f0..cb67e17 100755
---- a/src/addrinfo.c
-+++ b/src/addrinfo.c
-@@ -99,12 +99,21 @@ static void ucma_convert_to_ai(struct addrinfo *ai, struct rdma_addrinfo *rai)
- ai->ai_next = NULL;
- }
-
-+static int ucma_copy_addr(struct sockaddr **dst, socklen_t *dst_len,
-+ struct sockaddr *src, socklen_t src_len)
-+{
-+ *dst = malloc(src_len);
-+ if (!(*dst))
-+ return ERR(ENOMEM);
-+
-+ memcpy(*dst, src, src_len);
-+ *dst_len = src_len;
-+ return 0;
-+}
-+
- static int ucma_convert_to_rai(struct rdma_addrinfo *rai,
- struct rdma_addrinfo *hints, struct addrinfo *ai)
- {
-- struct sockaddr *addr;
-- char *canonname;
--
- rai->ai_family = ai->ai_family;
-
- if (hints && hints->ai_qp_type) {
-@@ -133,24 +142,17 @@ static int ucma_convert_to_rai(struct rdma_addrinfo *rai,
- }
- }
-
-- addr = malloc(ai->ai_addrlen);
-- if (!addr)
-- return ERR(ENOMEM);
--
-- canonname = ai->ai_canonname ? strdup(ai->ai_canonname) : NULL;
--
-- memcpy(addr, ai->ai_addr, ai->ai_addrlen);
- if (ai->ai_flags & RAI_PASSIVE) {
-- rai->ai_src_addr = addr;
-- rai->ai_src_len = ai->ai_addrlen;
-- rai->ai_src_canonname = canonname;
-+ if (ai->ai_canonname)
-+ rai->ai_src_canonname = strdup(ai->ai_canonname);
-+ return ucma_copy_addr(&rai->ai_src_addr, &rai->ai_src_len,
-+ ai->ai_addr, ai->ai_addrlen);
- } else {
-- rai->ai_dst_addr = addr;
-- rai->ai_dst_len = ai->ai_addrlen;
-- rai->ai_dst_canonname = canonname;
-+ if (ai->ai_canonname)
-+ rai->ai_dst_canonname = strdup(ai->ai_canonname);
-+ return ucma_copy_addr(&rai->ai_dst_addr, &rai->ai_dst_len,
-+ ai->ai_addr, ai->ai_addrlen);
- }
--
-- return 0;
- }
-
- static int ucma_convert_gai(char *node, char *service,
-@@ -178,18 +180,6 @@ static int ucma_convert_gai(char *node, char *service,
- return ret;
- }
-
--static int ucma_copy_ai_addr(struct sockaddr **dst, socklen_t *dst_len,
-- struct sockaddr *src, socklen_t src_len)
--{
-- *dst = calloc(1, src_len);
-- if (!(*dst))
-- return ERR(ENOMEM);
--
-- memcpy(*dst, src, src_len);
-- *dst_len = src_len;
-- return 0;
--}
--
- int rdma_getaddrinfo(char *node, char *service,
- struct rdma_addrinfo *hints,
- struct rdma_addrinfo **res)
-@@ -216,16 +206,16 @@ int rdma_getaddrinfo(char *node, char *service,
- rai->ai_qp_type = hints->ai_qp_type;
- rai->ai_port_space = hints->ai_port_space;
- if (hints->ai_dst_len) {
-- ret = ucma_copy_ai_addr(&rai->ai_dst_addr, &rai->ai_dst_len,
-- hints->ai_dst_addr, hints->ai_dst_len);
-+ ret = ucma_copy_addr(&rai->ai_dst_addr, &rai->ai_dst_len,
-+ hints->ai_dst_addr, hints->ai_dst_len);
- }
- }
- if (ret)
- goto err;
-
- if (!rai->ai_src_len && hints && hints->ai_src_len) {
-- ret = ucma_copy_ai_addr(&rai->ai_src_addr, &rai->ai_src_len,
-- hints->ai_src_addr, hints->ai_src_len);
-+ ret = ucma_copy_addr(&rai->ai_src_addr, &rai->ai_src_len,
-+ hints->ai_src_addr, hints->ai_src_len);
- if (ret)
- goto err;
- }