summaryrefslogtreecommitdiffstats
path: root/booster/src
Commit message (Collapse)AuthorAgeFilesLines
* fuse: retire the faked-FLUSH-upon-RELEASE hackCsaba Henk2010-10-261-1/+0
| | | | | | | | | | | | | | | | | | Now the code has lived up to the glorious state of not relying on getting the FLUSH whenever a file is released. So we don't need to forge one in release for the cases when the kernel doesn't send it. Undo commits: - 155ffe5c - c50bc710 - b8779318 (partly, just release related parts) Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 223 (flush not sent) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=223
* Copyright changesVijay Bellur2010-10-114-4/+4
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* Change GNU GPL to GNU AGPLPranith K2010-10-044-12/+12
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1388 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1388
* booster/fcntl: implement F_GETFD and F_SETFD.Raghavendra G2010-01-233-5/+85
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 446 (apache does not start in daemon mode on fedora core 11.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=446
* fixing some warnings on 64bit machine.Amar Tumballi2009-12-031-8/+11
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 408 (warning while building on 64bit machine..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=408
* booster: implement xattr related apis.Raghavendra G2009-11-181-0/+101
| | | | | | | | | | - implement setxattr, fsetxattr, lsetxattr. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* booster: implement creat64.Raghavendra G2009-11-181-0/+47
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* booster: implement truncate and truncate64.Raghavendra G2009-11-181-0/+76
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* booster: implement ftruncate64.Raghavendra G2009-11-181-1/+33
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* booster: implement getcwd.Raghavendra G2009-11-181-0/+14
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* booster: implement fchdir.Raghavendra G2009-11-181-0/+43
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* booster: implement chdir.Raghavendra G2009-11-181-0/+53
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* Revert "booster, libglusterfsclient: Support samba specific relative paths"Raghavendra G2009-11-181-8/+0
| | | | | | | | | | This reverts commit e6fc0cbe716a18f02891d3911481fdcb121d8840. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* booster: Must check errno for error number not return valueShehjar Tikoo2009-10-301-3/+3
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 346 (booster returns success on failed getxattr and lgetxattr) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=346
* booster, libglusterfsclient: Support samba specific relative pathsShehjar Tikoo2009-10-301-0/+8
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 158 (libglusterfsclient: Applications are restricted to using absolute paths) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=158
* booster: seperate out the implementations of readdir and readdir64.Raghavendra G2009-10-262-13/+41
| | | | | | | | | | | | - readdir and readdir64 should not call same procedure booster_readdir in their implementation, since the layout of dirent structures returned by libc implementations of readdir and readdir64 is different (readdir returns struct dirent *, where as readdir64 returns struct dirent64 *). Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 333 (ls on paths not on virtual mounts report wrong directory contents) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=333
* Changed occurrences of Z Research to Gluster.Vijay Bellur2009-10-074-4/+4
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Make changes such that glusterfs builds with Werror and fix LONG_LONG_MAX ↵Pavan Sondur2009-10-011-2/+2
| | | | | | | | | definition. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 289 (glusterfs does not build with Werror) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=289
* booster: Cleanup booster_cleanup and register for atexitShehjar Tikoo2009-09-241-20/+10
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 279 (File written with booster results in self-heal after dd exits) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=279
* booster: Reduce logging aggressiveness to TRACEShehjar Tikoo2009-09-242-159/+159
| | | | | | | | | | | Internal users feel the amount of logging brought in due to a previous logging enhancement patch is a bit too aggressive for DEBUG, so this changes it to TRACE. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 210 (libglusterfsclient: Enhance logging) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210
* fuse: emit a flush from release if we didn't get an adjacent FLUSH message ↵Csaba Henk2009-09-231-0/+1
| | | | | | | | | from the kernel Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 223 (flush not sent) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=223
* booster: implement F_DUPFD command in fcntl.Raghavendra G2009-09-221-0/+2
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 277 (running dd on booster returns EINVAL) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=277
* booster: Fix build warningsShehjar Tikoo2009-09-221-14/+15
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 275 (libglusterfsclient: Generic build failure bug for libglusterfsclient and booster) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=275
* booster: use __REDIRECT macro to prevent creat being renamed to creat64.Raghavendra G2009-09-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - nm on libglusterfs-booster.so shows only creat64 defined but not creat. This behavior is observed due to following reasons. 1. Booster is compiled with _FILE_OFFSET_BITS=64. 2. fcntl.h when included with _FILE_OFFSET_BITS=64 defined, renames all occurences of creat to creat64 in the source code from the point of #include <fcntl.h>. fcntl.h should be included since booster.c uses many of the macros defined in that header and glusterfs (booster in turn) has to be compiled with _FILE_OFFSET_BITS=64 since glusterfs uses datatypes (off_t, stat etc) whose sizes vary depending on whether this macro is defined or not. Basically, this macro should be defined to provide portability across 32 and 64 bit architectures. The correct fix is to make glusterfs to use datatypes big enough to hold 64 bit variants as well as 32 bit variants (like int64_t replacing off_t) and not to define _FILE_OFFSET_BITS=64 at all. As a temporary work around, 1. we can implement creat functionality in a function with different name, say booster_false_creat 2. rename this function to creat using __REDIRECT macro. since this renaming happens after renaming of creat to creat64 (from the first __REDIRECT macro in fcntl.h), we will end up with creat symbol being defined in libglusterfs-booster.so Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 264 (creat is not resolved properly to the symbol defined in booster) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=264
* booster: use appropriate conversion specifier during logging in close.Raghavendra G2009-09-151-1/+1
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 262 (crash in booster close due to invalid conversion specifier during logging.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=262
* booster: Fix fd_t leak in pread64Shehjar Tikoo2009-09-091-0/+1
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 174 (booster: fd_ts, they are a leakin) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=174
* booster: Enhance booster loggingShehjar Tikoo2009-09-093-71/+547
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 210 (libglusterfsclient: Enhance logging) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210
* booster: Support backward compatible optionsShehjar Tikoo2009-09-021-0/+6
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 209 (VMP parsing through fstab has issues) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209
* changed booster fstab to parse the arguments same as mount.glusterfsAmar Tumballi2009-08-201-2/+2
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 209 (VMP parsing through fstab has issues) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=209
* booster: Fix fd leak due to incorrect NULL checkShehjar Tikoo2009-07-291-1/+1
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 174 (booster: fd_ts, they are a leakin) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=174
* booster: automake 1.11 compatibility fixCsaba Henk2009-07-021-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Fix build problems with various libtool versionsShehjar Tikoo2009-06-292-12/+20
| | | | | | | | | | | | | | | | | | | | We've been facing a problem on some test systems where the booster.so is built by libtool as an executable rather than a dynamically loadable library. This problem is probably caused by it seeing a _init function in the source. This is the name of the libc initiliazation function so it could be the source of the problem. In any case, ld-preloadable libraries must not have a function called _init, instead they need to have __attribute ((constructor)) as the attribute for any and all functions the library wants executed before the program's main(). Our earlier approach was inherently problematic. This commit also cleans up the booster Makefile for better build behaviour. Credit: Harsha. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Another attempt to fix 32 and 64 bit interoperabilityShehjar Tikoo2009-06-291-17/+27
| | | | | | | | | | | | With this patch, we might have finally arrived at a solution to the problem of function definition conflicts between our functions and those of libc while over-riding the libc versions. This commit defines functions which do not conflict with libc, then it uses libc's own macro to redirect/rename these functions to the actual sys call names in the binary. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Add new booster-specific fd-tableShehjar Tikoo2009-06-294-139/+438
| | | | | | | | | | | The reason we need a booster specific fd-table is because the libglusterfs fd-table has come to a point where it is optimized for libglusterfs-style of fd allocations. This conflicts with the way booster requires fds to be allocated so this commit brings in a re-based version of a booster-specific fd-table written by Raghu. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: fix build error in fcntl implementation.Raghavendra G2009-06-151-1/+7
| | | | | | - F_DUPFD_CLOEXEC is defined only in linux kernel versions >= 2.6.24 Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: fix memory corruption in booster_cleanupRaghavendra G2009-06-111-4/+10
| | | | | | | - calling glusterfs_umount_all leads to memory corruption. hence commenting out for timebeing. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: implement fcntl.Raghavendra G2009-06-111-1/+104
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: implement readdir_r and readdir64_r.Raghavendra G2009-06-112-0/+70
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: call glusterfs_umount_all during cleanupRaghavendra G2009-06-111-0/+4
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: implement sendfile.Raghavendra G2009-06-111-0/+58
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: remove mount table which maps a path to glusterfs handler.Raghavendra G2009-06-111-236/+86
| | | | | | | | | | - if there are any glusterfs mounts(real, not virtual) which are not specified through booster-fstab those mounts are also added to the virtual mountpoint list of libglusterfsclient. This also removes the mount table in booster and all the mounts whether they are real or virtual are handled by libglusterfsclient. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: attr_timeout: Read timeout from booster fstabShehjar Tikoo2009-06-031-0/+17
| | | | | | | | | In order to expose the timeout values for stat and inode caching, this commit introduces a new fstab option "attr_timeout" that defines the number of seconds for which a looked up inode or a stat()'ed structure is valid in the cache. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Clean-up handling of log/fstab env variablesShehjar Tikoo2009-06-021-5/+14
| | | | | | | | | | | | | Handle two cases when deciding log/fstab file: 1. It turns out that that strdup or strlen doesnt actually check for NULL before trying to do its thing with the string so it seg-faults on seeing a NULL char pointer. 2. getenv can return an empty string if the env var was exported as: $ export GLUSTEFS_BOOSTER_LOG= Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Eliminate gluster context creation raceShehjar Tikoo2009-06-021-92/+133
| | | | | | | | | | | | When multiple threads try to create a glusterfs context using the glusterfs_init function, those threads end up using the global vairables in the vol file parser in an non-synchronized manner, resulting in a seg-fault. There is now a big lock around searches and additions from the mount table in do_open. This lock granularity could be reduced. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Clear up env var usageShehjar Tikoo2009-06-021-1/+14
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* add booster_fstab.h in noinst_HEADERS to fix build breakage after 'make dist'Anand Avati2009-05-261-0/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Move fstab parsing into booster from libglusterfsShehjar Tikoo2009-05-204-109/+500
| | | | | | | | | | | This is another attempt at fixing build problems on Solaris. I am told that booster build is disabled on Solaris and I know that it is disabled on Mac OS X also. Getting it to work on both these systems is now on my TODO list, mainly because on both these systems, we can have a glusterfs client running without requiring FUSE. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Fall back to remaining real_* functorsShehjar Tikoo2009-05-191-13/+36
| | | | | | | | | It is possible that some of the real_* functors for stat family of syscalls are NULL. I've seen this on libc. In that case, this commit attempts to use any available function that performs an equivalent operation. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Dont de-init fd tables on VMP-init failureShehjar Tikoo2009-05-191-17/+5
| | | | | | | | In case the init procedure for VMP fails, we want to continue using booster through the old approach, which means leaving the fd-table intact. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Do not read info for non-glusterfs mount pointsShehjar Tikoo2009-05-191-0/+3
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>