summaryrefslogtreecommitdiffstats
path: root/booster
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* booster: Add telldir APIShehjar Tikoo2009-05-182-0/+38
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add seekdir APIShehjar Tikoo2009-05-182-0/+36
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add rewinddir APIShehjar Tikoo2009-05-182-0/+37
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Supplement fstab option parsingShehjar Tikoo2009-05-181-6/+14
| | | | | | | | Previous fstab option parsing logic was completely retarded and did not handle all cases. This fixes the situation so we now work without any problems. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add fstab parsing supportShehjar Tikoo2009-05-081-57/+74
| | | | | | | | | | | | | This commit changes the booster.conf format from a simple custom format to that of the /etc/fstab.c See booster_mount(..) for the mount options supported/required for LD_PRELOADing booster. I'll write a small help doc soon. This commit also brings in fstab parsing code into libglusterfs because Darwin libc only supports reading the hardcoded /etc/fstab. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Standardize conf file and env variableShehjar Tikoo2009-05-081-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Use CONFDIR as booster.conf default locationShehjar Tikoo2009-05-061-1/+1
| | | | | | | | This commit changes the default location of the booster.conf file from /etc/booster.conf to a directory defined during the build process. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Change booster conf env var nameShehjar Tikoo2009-05-061-1/+2
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add lchown APIShehjar Tikoo2009-05-051-0/+23
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add remove APIShehjar Tikoo2009-05-051-0/+22
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add getxattr,lgetxattr APIShehjar Tikoo2009-05-051-1/+47
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add readdir64 APIShehjar Tikoo2009-05-052-1/+14
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add statvfs APIShehjar Tikoo2009-05-052-0/+65
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add statfs APIShehjar Tikoo2009-05-052-0/+64
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add lstat APIShehjar Tikoo2009-05-052-0/+127
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add fstat APIShehjar Tikoo2009-05-052-0/+141
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add stat APIShehjar Tikoo2009-05-053-2/+153
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add closedir APIShehjar Tikoo2009-05-051-0/+33
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add readdir APIShehjar Tikoo2009-05-051-0/+32
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add opendir APIShehjar Tikoo2009-05-051-0/+51
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add realpath APIShehjar Tikoo2009-05-051-0/+20
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add readlink APIShehjar Tikoo2009-05-051-0/+20
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add symlink APIShehjar Tikoo2009-05-051-0/+20
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add unlink APIShehjar Tikoo2009-05-051-0/+20
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add mkfifo APIShehjar Tikoo2009-05-051-0/+20
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add mknod APIShehjar Tikoo2009-05-051-0/+20
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add utime APIShehjar Tikoo2009-05-051-0/+22
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add utimes APIShehjar Tikoo2009-05-051-0/+20
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add rename APIShehjar Tikoo2009-05-051-0/+21
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add link APIShehjar Tikoo2009-05-051-0/+21
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add ftruncate APIShehjar Tikoo2009-05-051-0/+23
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>