Bottom: 2d7d36989522b9e010497256793038fb2cb5aa9e
-Top: d02cc7716cf9826fa0d5cc49b028d9a4ad2c229f
+Top: e27a5486414fa15f1d715c5235fa7b45eb528b16
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-07-18 09:01:43 -0700
if (cma_dev_cnt) {
pthread_mutex_unlock(&mut);
diff --git a/src/preload.c b/src/preload.c
-index 52eaf1a..370e8bc 100644
+index 52eaf1a..455b41e 100644
--- a/src/preload.c
+++ b/src/preload.c
@@ -48,6 +48,7 @@
#include <rdma/rdma_cma.h>
#include <rdma/rdma_verbs.h>
-@@ -382,6 +383,7 @@ int socket(int domain, int type, int protocol)
+@@ -95,6 +96,7 @@ static int sq_size;
+ static int rq_size;
+ static int sq_inline;
+ static int fork_support;
++static FILE *log;
+
+ enum fd_type {
+ fd_normal,
+@@ -278,6 +280,7 @@ static void init_preload(void)
+ rs.fcntl = dlsym(RTLD_DEFAULT, "rfcntl");
+
+ getenv_options();
++ log = fopen("/var/log/rs.log", "w");
+ init = 1;
+ out:
+ pthread_mutex_unlock(&mut);
+@@ -382,6 +385,7 @@ int socket(int domain, int type, int protocol)
if (index < 0)
return index;
-+ printf("socket\n");
++ fprintf(log, "socket\n");fflush(log);
recursive = 1;
ret = rsocket(domain, type, protocol);
recursive = 0;
-@@ -389,6 +391,7 @@ int socket(int domain, int type, int protocol)
+@@ -389,6 +393,7 @@ int socket(int domain, int type, int protocol)
if (fork_support) {
rclose(ret);
ret = real.socket(domain, type, protocol);
-+ printf("socket - fork support - real socket %d\n", ret);
++ fprintf(log, "socket - fork support - real socket %d\n", ret);fflush(log);
if (ret < 0)
return ret;
fd_store(index, ret, fd_fork);
-@@ -396,6 +399,7 @@ int socket(int domain, int type, int protocol)
+@@ -396,6 +401,7 @@ int socket(int domain, int type, int protocol)
fd_store(index, ret, fd_rsocket);
set_rsocket_options(ret);
}
-+ printf("socket - return %d\n", index);
++ fprintf(log, "socket - return %d\n", index);fflush(log);
return index;
}
fd_close(index, &ret);
-@@ -406,6 +410,7 @@ real:
+@@ -406,6 +412,7 @@ real:
int bind(int socket, const struct sockaddr *addr, socklen_t addrlen)
{
int fd;
-+ printf("bind %d\n", socket);
++ fprintf(log, "bind %d\n", socket);fflush(log);
return (fd_get(socket, &fd) == fd_rsocket) ?
rbind(fd, addr, addrlen) : real.bind(fd, addr, addrlen);
}
-@@ -413,6 +418,7 @@ int bind(int socket, const struct sockaddr *addr, socklen_t addrlen)
+@@ -413,6 +420,7 @@ int bind(int socket, const struct sockaddr *addr, socklen_t addrlen)
int listen(int socket, int backlog)
{
int fd;
-+ printf("listen %d\n", socket);
++ fprintf(log, "listen %d\n", socket);fflush(log);
return (fd_get(socket, &fd) == fd_rsocket) ?
rlisten(fd, backlog) : real.listen(fd, backlog);
}
-@@ -422,6 +428,7 @@ int accept(int socket, struct sockaddr *addr, socklen_t *addrlen)
+@@ -422,6 +430,7 @@ int accept(int socket, struct sockaddr *addr, socklen_t *addrlen)
int fd, index, ret;
enum fd_type type;
-+ printf("accept %d\n", socket);
++ fprintf(log, "accept %d\n", socket);fflush(log);
type = fd_get(socket, &fd);
if (type == fd_rsocket || type == fd_fork) {
index = fd_open();
-@@ -430,11 +437,14 @@ int accept(int socket, struct sockaddr *addr, socklen_t *addrlen)
+@@ -430,11 +439,14 @@ int accept(int socket, struct sockaddr *addr, socklen_t *addrlen)
ret = (type == fd_rsocket) ? raccept(fd, addr, addrlen) :
real.accept(fd, addr, addrlen);
-+ printf("accept %d, new index %d new socket %d err %s\n",
-+ socket, index, ret, strerror(errno));
++ fprintf(log, "accept %d, new index %d new socket %d err %s\n",
++ socket, index, ret, strerror(errno));fflush(log);
if (ret < 0) {
fd_close(index, &fd);
return ret;
}
-+ printf("accept %d, new index %d new socket %d\n", socket, index, ret);
++ fprintf(log, "accept %d, new index %d new socket %d\n", socket, index, ret);fflush(log);
fd_store(index, ret, type);
return index;
} else {
-@@ -455,25 +465,33 @@ static int fork_active(int socket, const struct sockaddr *addr, socklen_t addrle
+@@ -455,25 +467,31 @@ static int fork_active(int socket, const struct sockaddr *addr, socklen_t addrle
uint32_t msg;
long flags;
-+ printf("connect_fork\n");
++ fprintf(log, "connect_fork\n");fflush(log);
fd = fd_getd(socket);
flags = real.fcntl(fd, F_GETFL);
real.fcntl(fd, F_SETFL, 0);
ret = real.connect(fd, addr, addrlen);
-+ printf("connect_fork - real connect %d %s\n", ret, strerror(errno));
++ fprintf(log, "connect_fork - real connect %d %s\n", ret, strerror(errno));fflush(log);
if (ret)
return ret;
-- ret = real.recv(fd, &msg, sizeof msg, MSG_PEEK);
-+ do {
-+ ret = real.recv(fd, &msg, sizeof msg, MSG_PEEK);
-+ } while (!ret);
-+ printf("connect_fork - real recv %d msg %d\n", ret, msg);
+ ret = real.recv(fd, &msg, sizeof msg, MSG_PEEK);
++ fprintf(log, "connect_fork - real recv %d msg %d\n", ret, msg);fflush(log);
if ((ret != sizeof msg) || msg) {
-+ printf("connect_fork - falling back to normal socket\n");
++ fprintf(log, "connect_fork - falling back to normal socket\n");fflush(log);
fd_store(socket, fd, fd_normal);
return 0;
}
real.fcntl(fd, F_SETFL, flags);
ret = transpose_socket(socket, fd_rsocket);
-+ printf("connect_fork - transpose socket %d\n", ret);
++ fprintf(log, "connect_fork - transpose socket %d\n", ret);fflush(log);
if (ret < 0)
return ret;
real.close(fd);
-+ printf("connect_fork - connecting rsocket");
++ fprintf(log, "connect_fork - connecting rsocket");fflush(log);
return rconnect(ret, addr, addrlen);
}
socklen_t len;
uint32_t msg;
-+ printf("fork_passive\n");
++ fprintf(log, "fork_passive\n");fflush(log);
fd_get(socket, &sfd);
len = sizeof sin6;
ret = real.getsockname(sfd, (struct sockaddr *) &sin6, &len);
-+ printf("fork_passive - getsockname %d (%s)\n", ret, strerror(errno));
++ fprintf(log, "fork_passive - getsockname %d (%s)\n", ret, strerror(errno));fflush(log);
if (ret)
goto out;
sin6.sin6_flowinfo = sin6.sin6_scope_id = 0;
sem = sem_open("/rsocket_fork", O_CREAT | O_RDWR,
S_IRWXU | S_IRWXG, 1);
-+ printf("fork_passive - sem_open %p (%s)\n", (void *) sem, strerror(errno));
++ fprintf(log, "fork_passive - sem_open %p (%s)\n", (void *) sem, strerror(errno));fflush(log);
if (sem == SEM_FAILED) {
ret = -1;
goto out;
}
lfd = rsocket(sin6.sin6_family, SOCK_STREAM, 0);
-+ printf("fork_passive - rsocket %d (%s)\n", lfd, strerror(errno));
++ fprintf(log, "fork_passive - rsocket %d (%s)\n", lfd, strerror(errno));fflush(log);
if (lfd < 0) {
ret = lfd;
goto sclose;
sem_wait(sem);
ret = rbind(lfd, (struct sockaddr *) &sin6, sizeof sin6);
-+ printf("fork_passive - rbind %d (%s)\n", ret, strerror(errno));
++ fprintf(log, "fork_passive - rbind %d (%s)\n", ret, strerror(errno));fflush(log);
if (ret)
goto lclose;
{
int fd, ret;
-+ printf("conect %d\n", socket);
++ fprintf(log, "conect %d\n", socket);
switch (fd_get(socket, &fd)) {
case fd_fork:
return fork_active(socket, addr, addrlen);
+++ /dev/null
-Bottom: d02cc7716cf9826fa0d5cc49b028d9a4ad2c229f
-Top: e27a5486414fa15f1d715c5235fa7b45eb528b16
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-07-25 16:21:33 -0700
-
-Refresh of dbg
-
----
-
-diff --git a/src/preload.c b/src/preload.c
-index 370e8bc..455b41e 100644
---- a/src/preload.c
-+++ b/src/preload.c
-@@ -96,6 +96,7 @@ static int sq_size;
- static int rq_size;
- static int sq_inline;
- static int fork_support;
-+static FILE *log;
-
- enum fd_type {
- fd_normal,
-@@ -279,6 +280,7 @@ static void init_preload(void)
- rs.fcntl = dlsym(RTLD_DEFAULT, "rfcntl");
-
- getenv_options();
-+ log = fopen("/var/log/rs.log", "w");
- init = 1;
- out:
- pthread_mutex_unlock(&mut);
-@@ -383,7 +385,7 @@ int socket(int domain, int type, int protocol)
- if (index < 0)
- return index;
-
-- printf("socket\n");
-+ fprintf(log, "socket\n");fflush(log);
- recursive = 1;
- ret = rsocket(domain, type, protocol);
- recursive = 0;
-@@ -391,7 +393,7 @@ int socket(int domain, int type, int protocol)
- if (fork_support) {
- rclose(ret);
- ret = real.socket(domain, type, protocol);
-- printf("socket - fork support - real socket %d\n", ret);
-+ fprintf(log, "socket - fork support - real socket %d\n", ret);fflush(log);
- if (ret < 0)
- return ret;
- fd_store(index, ret, fd_fork);
-@@ -399,7 +401,7 @@ int socket(int domain, int type, int protocol)
- fd_store(index, ret, fd_rsocket);
- set_rsocket_options(ret);
- }
-- printf("socket - return %d\n", index);
-+ fprintf(log, "socket - return %d\n", index);fflush(log);
- return index;
- }
- fd_close(index, &ret);
-@@ -410,7 +412,7 @@ real:
- int bind(int socket, const struct sockaddr *addr, socklen_t addrlen)
- {
- int fd;
-- printf("bind %d\n", socket);
-+ fprintf(log, "bind %d\n", socket);fflush(log);
- return (fd_get(socket, &fd) == fd_rsocket) ?
- rbind(fd, addr, addrlen) : real.bind(fd, addr, addrlen);
- }
-@@ -418,7 +420,7 @@ int bind(int socket, const struct sockaddr *addr, socklen_t addrlen)
- int listen(int socket, int backlog)
- {
- int fd;
-- printf("listen %d\n", socket);
-+ fprintf(log, "listen %d\n", socket);fflush(log);
- return (fd_get(socket, &fd) == fd_rsocket) ?
- rlisten(fd, backlog) : real.listen(fd, backlog);
- }
-@@ -428,7 +430,7 @@ int accept(int socket, struct sockaddr *addr, socklen_t *addrlen)
- int fd, index, ret;
- enum fd_type type;
-
-- printf("accept %d\n", socket);
-+ fprintf(log, "accept %d\n", socket);fflush(log);
- type = fd_get(socket, &fd);
- if (type == fd_rsocket || type == fd_fork) {
- index = fd_open();
-@@ -437,14 +439,14 @@ int accept(int socket, struct sockaddr *addr, socklen_t *addrlen)
-
- ret = (type == fd_rsocket) ? raccept(fd, addr, addrlen) :
- real.accept(fd, addr, addrlen);
-- printf("accept %d, new index %d new socket %d err %s\n",
-- socket, index, ret, strerror(errno));
-+ fprintf(log, "accept %d, new index %d new socket %d err %s\n",
-+ socket, index, ret, strerror(errno));fflush(log);
- if (ret < 0) {
- fd_close(index, &fd);
- return ret;
- }
-
-- printf("accept %d, new index %d new socket %d\n", socket, index, ret);
-+ fprintf(log, "accept %d, new index %d new socket %d\n", socket, index, ret);fflush(log);
- fd_store(index, ret, type);
- return index;
- } else {
-@@ -465,33 +467,31 @@ static int fork_active(int socket, const struct sockaddr *addr, socklen_t addrle
- uint32_t msg;
- long flags;
-
-- printf("connect_fork\n");
-+ fprintf(log, "connect_fork\n");fflush(log);
- fd = fd_getd(socket);
- flags = real.fcntl(fd, F_GETFL);
- real.fcntl(fd, F_SETFL, 0);
- ret = real.connect(fd, addr, addrlen);
-- printf("connect_fork - real connect %d %s\n", ret, strerror(errno));
-+ fprintf(log, "connect_fork - real connect %d %s\n", ret, strerror(errno));fflush(log);
- if (ret)
- return ret;
-
-- do {
-- ret = real.recv(fd, &msg, sizeof msg, MSG_PEEK);
-- } while (!ret);
-- printf("connect_fork - real recv %d msg %d\n", ret, msg);
-+ ret = real.recv(fd, &msg, sizeof msg, MSG_PEEK);
-+ fprintf(log, "connect_fork - real recv %d msg %d\n", ret, msg);fflush(log);
- if ((ret != sizeof msg) || msg) {
-- printf("connect_fork - falling back to normal socket\n");
-+ fprintf(log, "connect_fork - falling back to normal socket\n");fflush(log);
- fd_store(socket, fd, fd_normal);
- return 0;
- }
-
- real.fcntl(fd, F_SETFL, flags);
- ret = transpose_socket(socket, fd_rsocket);
-- printf("connect_fork - transpose socket %d\n", ret);
-+ fprintf(log, "connect_fork - transpose socket %d\n", ret);fflush(log);
- if (ret < 0)
- return ret;
-
- real.close(fd);
-- printf("connect_fork - connecting rsocket");
-+ fprintf(log, "connect_fork - connecting rsocket");fflush(log);
- return rconnect(ret, addr, addrlen);
- }
-
-@@ -503,12 +503,12 @@ static void fork_passive(int socket)
- socklen_t len;
- uint32_t msg;
-
-- printf("fork_passive\n");
-+ fprintf(log, "fork_passive\n");fflush(log);
- fd_get(socket, &sfd);
-
- len = sizeof sin6;
- ret = real.getsockname(sfd, (struct sockaddr *) &sin6, &len);
-- printf("fork_passive - getsockname %d (%s)\n", ret, strerror(errno));
-+ fprintf(log, "fork_passive - getsockname %d (%s)\n", ret, strerror(errno));fflush(log);
- if (ret)
- goto out;
- sin6.sin6_flowinfo = sin6.sin6_scope_id = 0;
-@@ -516,14 +516,14 @@ static void fork_passive(int socket)
-
- sem = sem_open("/rsocket_fork", O_CREAT | O_RDWR,
- S_IRWXU | S_IRWXG, 1);
-- printf("fork_passive - sem_open %p (%s)\n", (void *) sem, strerror(errno));
-+ fprintf(log, "fork_passive - sem_open %p (%s)\n", (void *) sem, strerror(errno));fflush(log);
- if (sem == SEM_FAILED) {
- ret = -1;
- goto out;
- }
-
- lfd = rsocket(sin6.sin6_family, SOCK_STREAM, 0);
-- printf("fork_passive - rsocket %d (%s)\n", lfd, strerror(errno));
-+ fprintf(log, "fork_passive - rsocket %d (%s)\n", lfd, strerror(errno));fflush(log);
- if (lfd < 0) {
- ret = lfd;
- goto sclose;
-@@ -534,7 +534,7 @@ static void fork_passive(int socket)
-
- sem_wait(sem);
- ret = rbind(lfd, (struct sockaddr *) &sin6, sizeof sin6);
-- printf("fork_passive - rbind %d (%s)\n", ret, strerror(errno));
-+ fprintf(log, "fork_passive - rbind %d (%s)\n", ret, strerror(errno));fflush(log);
- if (ret)
- goto lclose;
-
-@@ -593,7 +593,7 @@ int connect(int socket, const struct sockaddr *addr, socklen_t addrlen)
- {
- int fd, ret;
-
-- printf("conect %d\n", socket);
-+ fprintf(log, "conect %d\n", socket);
- switch (fd_get(socket, &fd)) {
- case fd_fork:
- return fork_active(socket, addr, addrlen);