Version: 1
-Previous: 889c8ab3cbc8cde0a25a8c27b57d07ac86fdc5ca
-Head: 796a6ee23d91b56d95f9283d8b03d3ce1775ff85
+Previous: 725a91db9d8fab897e466bac5d8edc3c0548f9bb
+Head: abe42e50924367870177ad006afb6a35bf024afb
Applied:
real-close: 3409f8d6af187d25c63a5d1f8ee8bff5f14555e2
dup2: ca5813e7cf95dee5933fc417e4a34d26f2b01824
fstat: dcd994c9e3d610f447e676429a394a496b83a2d6
- dbg-out: 27d4ad91c8cd8c6c20ba7c3ac0db555e1c4df96b
- refresh-temp: 796a6ee23d91b56d95f9283d8b03d3ce1775ff85
+ dbg-out: abe42e50924367870177ad006afb6a35bf024afb
Unapplied:
dbg: 0c269855776d3001e37da8c8afe283c20e1d6cd6
waitall-buggy: c49c6b56c55385774065f5aa2704078e6ae0ceb8
Bottom: 7bf18695fef78ce1cf020b98bda96e2687917519
-Top: 7cce5cae5d42cd31d7c3833ac60d0668c0c1d6d5
+Top: d375a8c3b149a38d9c0e691a32801dcd2977c4e9
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-08-07 11:08:30 -0700
---
diff --git a/src/preload.c b/src/preload.c
-index 33eb9a3..d1b6cff 100644
+index 33eb9a3..4ebcc85 100644
--- a/src/preload.c
+++ b/src/preload.c
@@ -48,6 +48,7 @@
#include <rdma/rdma_cma.h>
#include <rdma/rdma_verbs.h>
+@@ -84,7 +85,7 @@ struct socket_calls {
+ void *optval, socklen_t *optlen);
+ int (*fcntl)(int socket, int cmd, ... /* arg */);
+ int (*dup2)(int oldfd, int newfd);
+- int (*fstat)(int fd, struct stat *buf);
++ int (*fxstat64)(int ver, int fd, struct stat64 *buf);
+ };
+
+ static struct socket_calls real;
@@ -98,6 +99,8 @@ static int rq_size;
static int sq_inline;
static int fork_support;
enum fd_type {
fd_normal,
fd_rsocket,
+@@ -260,7 +263,7 @@ static void init_preload(void)
+ real.getsockopt = dlsym(RTLD_NEXT, "getsockopt");
+ real.fcntl = dlsym(RTLD_NEXT, "fcntl");
+ real.dup2 = dlsym(RTLD_NEXT, "dup2");
+- real.fstat = dlsym(RTLD_NEXT, "fstat");
++ real.fxstat64 = dlsym(RTLD_NEXT, "__fxstat64");
+
+ rs.socket = dlsym(RTLD_DEFAULT, "rsocket");
+ rs.bind = dlsym(RTLD_DEFAULT, "rbind");
@@ -286,6 +289,7 @@ static void init_preload(void)
rs.getsockopt = dlsym(RTLD_DEFAULT, "rgetsockopt");
rs.fcntl = dlsym(RTLD_DEFAULT, "rfcntl");
}
-int fstat(int socket, struct stat *buf)
-+int __fxstat64(int ver, int socket, struct stat *buf)
++int __fxstat64(int ver, int socket, struct stat64 *buf)
{
int fd, ret;
+ init_preload();
-+ fprintf(fout, "fstat socket %d\n", socket);
++ fprintf(fout, "fxstat64 socket %d\n", socket);
if (fd_get(socket, &fd) == fd_rsocket) {
- ret = real.fstat(socket, buf);
-+ fprintf(fout, "fstat - rsocket %d\n", ret);
+- ret = real.fstat(socket, buf);
++ ret = real.fxstat64(ver, socket, buf);
++ fprintf(fout, "fxstat64 - rsocket %d\n", ret);
if (!ret)
buf->st_mode = (buf->st_mode & ~S_IFMT) | __S_IFSOCK;
} else {
- ret = real.fstat(fd, buf);
-+ fprintf(fout, "fstat - normal %d\n", ret);
+- ret = real.fstat(fd, buf);
++ ret = real.fxstat64(ver, fd, buf);
++ fprintf(fout, "fxstat64 - normal %d\n", ret);
}
+ fflush(fout);
return ret;
+++ /dev/null
-Bottom: 7cce5cae5d42cd31d7c3833ac60d0668c0c1d6d5
-Top: d375a8c3b149a38d9c0e691a32801dcd2977c4e9
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-08-07 14:03:51 -0700
-
-Refresh of dbg-out
-
----
-
-diff --git a/src/preload.c b/src/preload.c
-index d1b6cff..4ebcc85 100644
---- a/src/preload.c
-+++ b/src/preload.c
-@@ -85,7 +85,7 @@ struct socket_calls {
- void *optval, socklen_t *optlen);
- int (*fcntl)(int socket, int cmd, ... /* arg */);
- int (*dup2)(int oldfd, int newfd);
-- int (*fstat)(int fd, struct stat *buf);
-+ int (*fxstat64)(int ver, int fd, struct stat64 *buf);
- };
-
- static struct socket_calls real;
-@@ -263,7 +263,7 @@ static void init_preload(void)
- real.getsockopt = dlsym(RTLD_NEXT, "getsockopt");
- real.fcntl = dlsym(RTLD_NEXT, "fcntl");
- real.dup2 = dlsym(RTLD_NEXT, "dup2");
-- real.fstat = dlsym(RTLD_NEXT, "fstat");
-+ real.fxstat64 = dlsym(RTLD_NEXT, "__fxstat64");
-
- rs.socket = dlsym(RTLD_DEFAULT, "rsocket");
- rs.bind = dlsym(RTLD_DEFAULT, "rbind");
-@@ -968,20 +968,20 @@ int dup2(int oldfd, int newfd)
- return newfd;
- }
-
--int __fxstat64(int ver, int socket, struct stat *buf)
-+int __fxstat64(int ver, int socket, struct stat64 *buf)
- {
- int fd, ret;
-
- init_preload();
-- fprintf(fout, "fstat socket %d\n", socket);
-+ fprintf(fout, "fxstat64 socket %d\n", socket);
- if (fd_get(socket, &fd) == fd_rsocket) {
-- ret = real.fstat(socket, buf);
-- fprintf(fout, "fstat - rsocket %d\n", ret);
-+ ret = real.fxstat64(ver, socket, buf);
-+ fprintf(fout, "fxstat64 - rsocket %d\n", ret);
- if (!ret)
- buf->st_mode = (buf->st_mode & ~S_IFMT) | __S_IFSOCK;
- } else {
-- ret = real.fstat(fd, buf);
-- fprintf(fout, "fstat - normal %d\n", ret);
-+ ret = real.fxstat64(ver, fd, buf);
-+ fprintf(fout, "fxstat64 - normal %d\n", ret);
- }
- fflush(fout);
- return ret;