[Pvfs2-cvs] commit by slang in pvfs2/src/io/bmi/bmi_tcp: bmi-tcp.c socket-collection-epoll.h

CVS commit program cvs at parl.clemson.edu
Thu Oct 19 18:16:56 EDT 2006


Update of /projects/cvsroot/pvfs2/src/io/bmi/bmi_tcp
In directory parlweb1:/tmp/cvs-serv5758/src/io/bmi/bmi_tcp

Modified Files:
      Tag: WALT3
	bmi-tcp.c socket-collection-epoll.h 
Log Message:
reverse merge of HEAD to WALT3 branch.


Index: bmi-tcp.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/bmi/bmi_tcp/bmi-tcp.c,v
diff -p -u -r1.103.4.1 -r1.103.4.2
--- bmi-tcp.c	18 Sep 2006 15:05:13 -0000	1.103.4.1
+++ bmi-tcp.c	19 Oct 2006 22:16:55 -0000	1.103.4.2
@@ -1707,7 +1707,7 @@ int BMI_tcp_query_addr_range(method_addr
     struct tcp_addr *tcp_addr_data = map->method_data;
     struct sockaddr_in map_addr;
     socklen_t map_addr_len = sizeof(map_addr);
-    char *tcp_wildcard = (char *) wildcard_string + 6 /* strlen("tcp://") */;
+    const char *tcp_wildcard = wildcard_string + 6 /* strlen("tcp://") */;
 
     memset(&map_addr, 0, sizeof(map_addr));
     getsockname(tcp_addr_data->socket, (struct sockaddr *) &map_addr, &map_addr_len);
@@ -1760,11 +1760,26 @@ int BMI_tcp_query_addr_range(method_addr
 const char* BMI_tcp_addr_rev_lookup_unexpected(method_addr_p map)
 {
     struct tcp_addr *tcp_addr_data = map->method_data;
+    int debug_on;
+    uint64_t mask;
 
-#if !defined(__PVFS2_BMI_REV_LOOKUP_HOSTNAME__) || !defined(HAVE_GETHOSTBYADDR)
+    /* return default response if we don't have support for the right socket
+     * calls 
+     */
+#if !defined(HAVE_GETHOSTBYADDR)
     return(tcp_addr_data->peer);
-
 #else 
+
+    /* Only resolve hostnames if a gossip mask is set to request it.
+     * Otherwise we leave it at ip address 
+     */
+    gossip_get_debug_mask(&debug_on, &mask);
+
+    if(!debug_on || (!(mask & GOSSIP_ACCESS_HOSTNAMES)))
+    {
+        return(tcp_addr_data->peer);
+    }
+
     socklen_t peerlen = sizeof(struct sockaddr_in);
     struct sockaddr_in peer;
     int ret;

Index: socket-collection-epoll.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/bmi/bmi_tcp/socket-collection-epoll.h,v
diff -p -u -r1.2 -r1.2.4.1
--- socket-collection-epoll.h	24 May 2006 13:24:50 -0000	1.2
+++ socket-collection-epoll.h	19 Oct 2006 22:16:56 -0000	1.2.4.1
@@ -109,6 +109,7 @@ do { \
     struct tcp_addr* tcp_data = (m)->method_data; \
     if(tcp_data->socket > -1){ \
         struct epoll_event event;\
+        memset(&event, 0, sizeof(event));\
         event.events = EPOLLIN|EPOLLERR|EPOLLHUP;\
         event.data.ptr = tcp_data->map;\
         epoll_ctl(s->epfd, EPOLL_CTL_ADD, tcp_data->socket, &event);\
@@ -119,6 +120,7 @@ do { \
 do { \
     struct epoll_event event;\
     struct tcp_addr* tcp_data = (m)->method_data; \
+    memset(&event, 0, sizeof(event));\
     event.events = 0;\
     event.data.ptr = tcp_data->map;\
     epoll_ctl(s->epfd, EPOLL_CTL_DEL, tcp_data->socket, &event);\
@@ -131,6 +133,7 @@ do { \
     struct epoll_event event;\
     assert(tcp_data->socket > -1); \
     tcp_data->write_ref_count++; \
+    memset(&event, 0, sizeof(event));\
     event.events = EPOLLIN|EPOLLERR|EPOLLHUP|EPOLLOUT;\
     event.data.ptr = tcp_data->map;\
     epoll_ctl(s->epfd, EPOLL_CTL_MOD, tcp_data->socket, &event);\
@@ -143,6 +146,7 @@ do { \
     tcp_data->write_ref_count--; \
     assert(tcp_data->write_ref_count > -1); \
     if (tcp_data->write_ref_count == 0) { \
+        memset(&event, 0, sizeof(event));\
         event.events = EPOLLIN|EPOLLERR|EPOLLHUP;\
         event.data.ptr = tcp_data->map;\
         epoll_ctl(s->epfd, EPOLL_CTL_MOD, tcp_data->socket, &event);\



More information about the Pvfs2-cvs mailing list