summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* server: don't check for 'loc->parent' in entrylk and inodelk callsAmar Tumballi2009-07-171-4/+2
| | | | | | | | | | | | the lock operation on entry or inode is going to happen on only one inode, and it doesn't need dentry (with info on parent) for the lock operation to complete. Hence, in server_{inode,entry}lk() calls after server_loc_fill, we -should not- be checking for parent inode. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 112 (parallel deletion of files mounted by different clients on the same back-end hangs and/or does not completely delete) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112
* removed mod_glusterfs from the buildAmar Tumballi2009-07-172-104/+1
| | | | | | | future plan is to have httpd use booster and libglusterfsclient instead. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* change mount.glusterfs.in to work with non-bash shells too.Amar Tumballi2009-07-171-3/+3
| | | | | | | | | | | | removed 'fuction ' prefix to function definitions which was very much /bin/bash specific. Thanks to Brent A. Nelson <brent@phys.ufl.edu> for the patch. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 139 (tiny glitch in mount.glusterfs in 2.0.4) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=139
* break inode_path if the length of the path crosses PATH_MAXAmar Tumballi2009-07-171-0/+7
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 134 (infinite loop in inode_path ()) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=134
* libglusterfsclient: Invalidate not update iattr cache on writevShehjar Tikoo2009-07-172-2/+48
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 149 (libglusterfsclient interacts incorrectly with write-behind on writev) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=149
* Remove the trailing "/" which fails build with new version of automakeHarshavardhana2009-07-172-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Add a random initial offset to the afr round robin indexErick Tryzelaar2009-07-161-0/+3
| | | | | | | | | | | | | | | This patch helps to distribute load across an afr cluster when you have clients with the same access patterns, such as in benchmarking or map-reduce. By randomly offsetting the initial read_child_rr, clients should distribute reads over the afr nodes on average. A better solution could be to randomly shuffle the children instead of chosing a different initial offset. This should average the reads better across the nodes, but I'm not sure if there are any other consequences to doing this. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* fuse-bridge: Export user.glusterfs-booster-mount xattrShehjar Tikoo2009-07-161-0/+3
| | | | | | | | | | | | | | | This needs to be exported in order to have the booster Mount Point Bypass technique work through libglusterfsclient. Booster uses the mount point to register with libglusterfsclient as a VMP. Subsequently, all file operations on the mounted GlusterFS mount point get redirected to libglusterfsclient. This fixes bug 136. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 136 (booster does not redirect ops on GlusterFS mount point into libglusterfsclient) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=136
* Fixes for MacOSX and Solaris buildv2.0.4Harshavardhana Ranganath2009-07-093-42/+103
| | | | | | Fixes for Solaris and MacOSX build errors. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Return inode number always from the first up subvolume in AFR.Vikas Gorur2009-07-092-10/+16
| | | | | | | Also fixes a bug in the "KLUDGE" part. It was setting lookup_buf when it should have been setting local->cont.lookup.buf Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Added format-patch.sh. This script is to be used as a replacement of "git ↵Anand V. Avati2009-07-081-0/+60
| | | | format-patch" with similar arguments for submitting patches to the GlusterFS project
* detabify fuse-bridge.c (and other whitespace fixes)Csaba Henk2009-07-081-738/+738
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* protocol/server: use translated flags in protocol/server open and create fopsAnand Avati2009-07-071-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* protocol/client: use translated flags in protocol/client open and create fopsAnand Avati2009-07-071-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* protocol: add functions gf_flags_from_flags and gf_flags_to_flagsAnand Avati2009-07-071-0/+108
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* write-behind: set default window-size to 1MB.Raghavendra G2009-07-071-1/+2
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* use fuse_reply_iov() in fuse_readv_cbkBasavanagowda Kanur2009-07-072-0/+13
| | | | | | | | | | | | changes come in two places. configure.ac - define HAVE_FUSE_REPLY_IOV if fuse_reply_iov is available in libfuse. mount/fuse - use fuse_reply_iov() in place of fuse_reply_vec(), if HAVE_FUSE_REPLY_IOV is defined. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfsclient: Update attr cache on read/writeShehjar Tikoo2009-07-072-5/+16
| | | | | | | | | | | We werent updating the attr AKA stat cache on read and write on files so every stat on the file before the timeout was returning stale attr from the cache. Yuck! This fixes it. Turns out there is a good aspect of unfs3's notoriety when it comes to doing stat()s for every operation. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Set timestamps properly when creating missing entries.v2.0.3Vikas Gorur2009-07-061-3/+37
| | | | | | | In AFR self-heal set timestamp of a freshly created missing entry to that of the source entry. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: automake 1.11 compatibility fixCsaba Henk2009-07-021-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfsclient: Use O_ACCMODE for access mode checksShehjar Tikoo2009-07-021-3/+6
| | | | | | Ref: http://www.gnu.org/s/libc/manual/html_node/Access-Modes.html Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Print volume file after printing other details.Vikas Gorur2009-07-022-2/+4
| | | | | | | This makes the log format compatible with earlier versions. Fixes bug #105. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* performance/write-behind - bug fix in open() and create().Basavanagowda Kanur2009-07-021-1/+5
| | | | | | | | open() & create() calls should reset frame->local to NULL. bz# 104 Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* rpm spec file updates (removed mod_glusterfs and respective dependencies)Harshavardhana2009-07-011-40/+11
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* fuse 2.8 support for xlator/fuseHarshavardhana2009-07-012-0/+23
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* fuse 2.8 version check at configure levelHarshavardhana2009-07-011-1/+18
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Fix typos in my previous commit 6010e2a4eCsaba Henk2009-07-011-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* fuse: instead of having a fixed option list, assemble it using ↵Csaba Henk2009-07-011-56/+40
| | | | | | | | "fuse_opt_add_arg" This makes it easier to adjust the option list, and also reduces redundancy. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* build warning fixesAmar Tumballi2009-06-301-2/+2
| | | | | | integer typecast warnings fixed Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* enhancement in write-behindAmar Tumballi2009-06-301-13/+22
| | | | | | | | | Write calls should not be pushed to background only when the mandatory locking is enabled, in all other cases (eg: O_SYNC, O_DIRECT etc), we should not be 'caching' any data, but the calls can be pushed to the background Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* client_xattrop: use dict_allocate_and_serialize during serializing xattrRaghavendra G2009-06-301-10/+7
| | | | | | | | - though the previous commit fixes bug #29, this patch fixes bugs arising in similar situations where xattrop is initiated by xlators other than afr. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* cluster/afr - use different dictionaries for sending xattrop requests to ↵Basavanagowda Kanur2009-06-301-24/+50
| | | | | | | | | | | | | | | | each of the subvolume - This patch fixes bug #29. - Using separate copies of dictionaries also eliminates a potential bug in a setup consisting of afr with a posix and client, each having io-threads on top as children. Since posix_xattrop after performing required operations on the xattr array passed in dictionary, sets the result at the same key and in the same dictionary passed as input argument, there can be race conditions where in the results of the operation on posix-child can be sent to the other child as input argument for xattrop, which ofcourse is wrong. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Fix build problems with various libtool versionsShehjar Tikoo2009-06-302-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>
* libglusterfsclient: Fix glusterfs_mount-vmp search deadlockShehjar Tikoo2009-06-301-11/+20
| | | | | | | | | | | | | It is possible that the only translator in the libglusterfsclient tree is the posix. In that case, inside gluster_init, the graph init routines will need to call lstat on the posix subdirectory. Since even the glusterfs stack is running over booster, those calls will also first require vmp searching. BUT, the vmp lock is the same as the mount lock that was already taken when we entered glusterfs_mount, so a deadlock occurs. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Another attempt to fix 32 and 64 bit interoperabilityShehjar Tikoo2009-06-301-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>
* libglusterfs-fd: Simplify gf_roundup_power_of_twoShehjar Tikoo2009-06-301-30/+10
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Remove gf_fd_unused_get2Shehjar Tikoo2009-06-302-40/+4
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: Add new booster-specific fd-tableShehjar Tikoo2009-06-304-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>
* libglusterfs: Prevent gf_fd_put'ing of unallocated fdShehjar Tikoo2009-06-301-1/+11
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs: Chain newly allocated fdentries.Shehjar Tikoo2009-06-301-0/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs: Change GF_FDENTRY_ALLOCATED constantShehjar Tikoo2009-06-301-3/+2
| | | | | | | | | This change is being brought in so that we can differentiate between fdentry_ts when debugging using gdb. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* client: Replace saved_fds dict with listShehjar Tikoo2009-06-302-158/+177
| | | | | | | | | | | Thhie change removes a huge inefficiency in file open path where every open resulted in dictionary operations in order to let the client maintain a list of fd_t's being used over a particular client context. Resolves: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=16 Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfs: Turn fd-table O(1)Shehjar Tikoo2009-06-303-82/+141
| | | | | | | | | This commit reduces CPU usage of gf_fd_unused_get drastically by making it O(1) instead of O(n). Related to: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=16 Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: fix build error in fcntl implementation.Raghavendra G2009-06-301-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-301-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>
* libglusterfsclient: reset the vmplist and vmpentries to 0 in glusterfs_resetRaghavendra G2009-06-301-0/+6
| | | | | | | - Generally glusterfs_reset is called after fork in child to empty out vmplist. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: implement fcntl.Raghavendra G2009-06-301-1/+104
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfsclient: implement glusterfs_fcntl.Raghavendra G2009-06-302-0/+117
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* booster: implement readdir_r and readdir64_r.Raghavendra G2009-06-302-0/+70
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfsclient: implement glusterfs_readdir_rRaghavendra G2009-06-302-0/+72
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>