summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* booster: Add fsync APIShehjar Tikoo2009-05-051-0/+23
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add fchown APIShehjar Tikoo2009-05-051-0/+25
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add fchmod APIShehjar Tikoo2009-05-051-1/+21
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add chown APIShehjar Tikoo2009-05-051-0/+21
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add chmod APIShehjar Tikoo2009-05-051-0/+20
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add rmdir APIShehjar Tikoo2009-05-051-0/+19
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add mkdir APIShehjar Tikoo2009-05-051-0/+21
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add log messageShehjar Tikoo2009-05-051-0/+1
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Clean-up pwrite64Shehjar Tikoo2009-05-051-4/+6
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Clean-up pwriteShehjar Tikoo2009-05-051-6/+5
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Clean-up lseek64Shehjar Tikoo2009-05-051-1/+6
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Clean-up lseekShehjar Tikoo2009-05-051-2/+6
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Clean-up writeShehjar Tikoo2009-05-051-18/+5
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Clean-up writevShehjar Tikoo2009-05-051-21/+5
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Clean-up pread64Shehjar Tikoo2009-05-051-4/+5
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Clean-up preadShehjar Tikoo2009-05-051-4/+5
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Clean-up readvShehjar Tikoo2009-05-051-16/+5
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Clean up readShehjar Tikoo2009-05-051-19/+5
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Support VMP-based creatShehjar Tikoo2009-05-051-1/+47
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Add VMP-based open supportShehjar Tikoo2009-05-051-20/+146
| | | | | | | | | | | | | | In brief, when an open is called the VMP-based open is called first. If that fails, the fallback is the Mount-Point Bypass(MBP) technique which uses entended attributes to determine if the given path is a gluster mount. If it is, it goes ahead to create a glusterfsclient handle. All subsequent calls to this real mount point get redirected to the glusterfsclient handle. The other fallback is the actual open syscall on the local file system itself. This happens when the absence of an extended attribute tells us that the path is not even a glusterfs mount point. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* booster: Remove fcntl.h from include pathShehjar Tikoo2009-05-051-8/+27
| | | | | | | | | | | 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>
* booster: Integrate VMP-based mountingShehjar Tikoo2009-05-051-2/+110
| | | | | | | | | | | | | | | | | | | | | | | | This commit brings into booster the use of VMP based operations which will allow users of booster to specifiy a VMP and use it for transparently operating on a glusterfs client context. Since applications are oblivious to booster's presence, because it is LD_PRELOAD'ed, we need to specify the VMPs and the corresponding options like volfile, logfile, loglevel, through a conf file. By default, this conf file is the /etc/booster.conf. This can be over-ridden through the GLFS_BOOSTER_CONF environment variable for the application. The format of the conf file is very simple for now. Each VMP is described on a single line with space separated fields. Format: <Virtual Mount Point> <volfile-path> <log-file> <log-level> <log-level> takes the string representation of the usual glusterfs log levels. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: A Fix deadlock in ftruncateShehjar Tikoo2009-05-051-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Conform'ify glusterfs_readdirShehjar Tikoo2009-05-052-22/+31
| | | | | | | | | | | This commit does two things: 1. Changes glusterfs_readdir prototype to conform to the POSIX readdir(). 2. Uses a 1024-byte value instead of sizeof(struct dirent) for the @size for libgf_client_readdir. This allows even larger names to fit into a single readdir request to the server. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Add VMP-based lchownShehjar Tikoo2009-05-052-3/+96
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Add remove APIShehjar Tikoo2009-05-052-0/+86
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Add lightweight path resolutionShehjar Tikoo2009-05-051-85/+300
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Add lgetxattr APIShehjar Tikoo2009-05-052-17/+71
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Add setxattr,lsetxattr APIShehjar Tikoo2009-05-052-23/+81
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Make stat resolve all symlinksShehjar Tikoo2009-05-051-11/+10
| | | | | | | | We want to resolve even nested symlinks when calling stat, therefore, we need to depend on realpath-like functionality and not just a readlink. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Fix realpath operationShehjar Tikoo2009-05-051-23/+25
| | | | | | | | | | | | | | | This commit does two things: 1. Ensures we go on to traverse nested symlinks by calling realpath recursively on the symlink. 2. Makes glusterfs_realpath, a VMP-based operation, return a resolved /real path that actually has the VMP pre-fixed to the resolved path. If this is not done, we'll be returning a path that is valid only within the glusterfs context, i.e. the path will point to a real file/dir only if a glusterfs handle identifies which glusterfs context the file is in. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Dont lookup oldpath on symlinkShehjar Tikoo2009-05-051-13/+1
| | | | | | | The target of the symlink does not have to be interpreted in any way. It should be sent across as it is. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Improve path matching heuristicShehjar Tikoo2009-05-051-7/+73
| | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Guard against un-inited VMP searchesShehjar Tikoo2009-05-051-0/+6
| | | | | | | | | | | On my system, an selinux module gets inited before booster even though the FS calls from the selinux module get routed through our LD_PRELOAD'ed wrappers. In this scenario, the VMP list is un-inited, resulting in a seg-fault if it is dereferenced. The list_empty check does not help because the pointers in the list have non-NULL values. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
* libglusterfsclient: Add comments to APIShehjar Tikoo2009-05-051-30/+773
| | | | | | | | | | | Some of the functions have also been moved within the header to reflect the order in which users will read through and try to understand how to use the lib. For eg. the init, mount and umount functions have been moved to the beginning to clarify how to start by init and de-initing. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>