diff options
author | Shehjar Tikoo <shehjart@zresearch.com> | 2009-05-05 15:59:25 +0530 |
---|---|---|
committer | Anand V. Avati <avati@amp.gluster.com> | 2009-05-05 17:41:25 +0530 |
commit | 3364e5eb2d5f5110e86924112dfe3f10597c9c9f (patch) | |
tree | c92ff65f5e0d479c68819e0edcd7a898f459b0ca | |
parent | 313713a254e193623807d019f4c0e17e637ed316 (diff) |
booster: Remove fcntl.h from include path
We define the O_CREAT, etc. flags so that we can remove fcntl.h from the
include path. fcntl.h has certain defines and other lines of
code that redirect application's open and open64 calls to the
syscalls defined by libc.
For us, thats not a Good Thing (TM).
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
-rw-r--r-- | booster/src/booster.c | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/booster/src/booster.c b/booster/src/booster.c index ef1dcc8e6..903ad8e8f 100644 --- a/booster/src/booster.c +++ b/booster/src/booster.c @@ -33,7 +33,6 @@ #include <libglusterfsclient.h> #include <list.h> #include <pthread.h> -#include <fcntl.h> #include <sys/xattr.h> #include <string.h> #include <assert.h> @@ -44,6 +43,28 @@ #define GF_UNIT_KB 1024 #endif + +/* We define these flags so that we can remove fcntl.h from the include path. + * fcntl.h has certain defines and other lines of code that redirect the + * application's open and open64 calls to the syscalls defined by + * libc, for us, thats not a Good Thing (TM). + */ +#ifndef GF_O_CREAT +#define GF_O_CREAT 0x40 +#endif + +#ifndef GF_O_TRUNC +#define GF_O_TRUNC 0x200 +#endif + +#ifndef GF_O_RDWR +#define GF_O_RDWR 0x2 +#endif + +#ifndef GF_O_WRONLY +#define GF_O_WRONLY 0x1 +#endif + #ifndef UNIX_PATH_MAX #define UNIX_PATH_MAX 108 #endif @@ -437,7 +458,6 @@ do_open (int fd, int flags, mode_t mode) return; } -#ifndef __USE_FILE_OFFSET64 int open (const char *pathname, int flags, ...) { @@ -445,7 +465,7 @@ open (const char *pathname, int flags, ...) mode_t mode = 0; va_list ap; - if (flags & O_CREAT) { + if (flags & GF_O_CREAT) { va_start (ap, flags); mode = va_arg (ap, mode_t); va_end (ap); @@ -456,13 +476,12 @@ open (const char *pathname, int flags, ...) } if (ret != -1) { - flags &= ~ O_CREAT; + flags &= ~ GF_O_CREAT; do_open (ret, flags, mode); } return ret; } -#endif #if defined (__USE_LARGEFILE64) || !defined (__USE_FILE_OFFSET64) int @@ -472,7 +491,7 @@ open64 (const char *pathname, int flags, ...) mode_t mode = 0; va_list ap; - if (flags & O_CREAT) { + if (flags & GF_O_CREAT) { va_start (ap, flags); mode = va_arg (ap, mode_t); va_end (ap); @@ -483,7 +502,7 @@ open64 (const char *pathname, int flags, ...) } if (ret != -1) { - flags &= ~O_CREAT; + flags &= ~GF_O_CREAT; do_open (ret, flags, mode); } @@ -499,7 +518,7 @@ creat (const char *pathname, mode_t mode) ret = real_creat (pathname, mode); if (ret != -1) { - do_open (ret, O_WRONLY | O_TRUNC, mode); + do_open (ret, GF_O_WRONLY | GF_O_TRUNC, mode); } return ret; |