From: Sean Hefty Date: Tue, 14 Aug 2012 22:54:19 +0000 (-0700) Subject: refresh (create temporary patch) X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=4e75e6e1b1a78068fe8bb3c07cf5a80d9caa2f02;p=~shefty%2Flibrdmacm.git refresh (create temporary patch) --- diff --git a/meta b/meta index 4002d9bd..591557d9 100644 --- a/meta +++ b/meta @@ -1,6 +1,6 @@ Version: 1 -Previous: 03b25dd4da2a27dee6fd29106aefe65ba1fa0b6b -Head: ab2929d76ed7d07fefa17c73a3ee291dab51db5e +Previous: d4100a151d1d7542204c48fde0c1f16e7ff4bc03 +Head: cc104131d3772a84bd4f0e59d7b6abb62ea0be01 Applied: real-close: 3409f8d6af187d25c63a5d1f8ee8bff5f14555e2 dup2: ca5813e7cf95dee5933fc417e4a34d26f2b01824 @@ -9,6 +9,7 @@ Applied: fork-connect: a50a83fb4e574a2cc435bba1abf6f9df3d0cc7a6 sendfile: 9073427ddddfa2f7c93d0ac4a6da9844cb7d2960 fstat: ab2929d76ed7d07fefa17c73a3ee291dab51db5e + refresh-temp: cc104131d3772a84bd4f0e59d7b6abb62ea0be01 Unapplied: dbg-out: 04273ee712db4d53efb390462c1b738bb54a57df dbg: 0c269855776d3001e37da8c8afe283c20e1d6cd6 diff --git a/patches/refresh-temp b/patches/refresh-temp new file mode 100644 index 00000000..a9343cd6 --- /dev/null +++ b/patches/refresh-temp @@ -0,0 +1,55 @@ +Bottom: 03b5e28f4ac8f642409cf46b6a2bfc0da609ec5d +Top: 3bb516909d69e30fc529f1702bc96db012fce103 +Author: Sean Hefty +Date: 2012-08-14 15:54:19 -0700 + +Refresh of fstat + +--- + +diff --git a/src/preload.c b/src/preload.c +index c6cf176..f0c4174 100644 +--- a/src/preload.c ++++ b/src/preload.c +@@ -86,7 +86,11 @@ struct socket_calls { + void *optval, socklen_t *optlen); + int (*fcntl)(int socket, int cmd, ... /* arg */); + int (*dup2)(int oldfd, int newfd); ++<<<<<<< current + ssize_t (*sendfile)(int out_fd, int in_fd, off_t *offset, size_t count); ++======= ++ int (*fxstat64)(int ver, int fd, struct stat64 *buf); ++>>>>>>> patched + }; + + static struct socket_calls real; +@@ -279,7 +283,11 @@ static void init_preload(void) + real.getsockopt = dlsym(RTLD_NEXT, "getsockopt"); + real.fcntl = dlsym(RTLD_NEXT, "fcntl"); + real.dup2 = dlsym(RTLD_NEXT, "dup2"); ++<<<<<<< current + real.sendfile = dlsym(RTLD_NEXT, "sendfile"); ++======= ++ real.fxstat64 = dlsym(RTLD_NEXT, "__fxstat64"); ++>>>>>>> patched + + rs.socket = dlsym(RTLD_DEFAULT, "rsocket"); + rs.bind = dlsym(RTLD_DEFAULT, "rbind"); +@@ -1033,3 +1041,17 @@ ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count) + munmap(file_addr, count); + return ret; + } ++ ++int __fxstat64(int ver, int socket, struct stat64 *buf) ++{ ++ int fd, ret; ++ ++ if (fd_get(socket, &fd) == fd_rsocket) { ++ ret = real.fxstat64(ver, socket, buf); ++ if (!ret) ++ buf->st_mode = (buf->st_mode & ~S_IFMT) | __S_IFSOCK; ++ } else { ++ ret = real.fxstat64(ver, fd, buf); ++ } ++ return ret; ++}