summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bring in fusermountCsaba Henk2009-08-129-8/+1454
|
* fuse: add proper mounting support, based on libfuse routinesCsaba Henk2009-08-124-42/+559
|
* fuse: move libfuse derived code over under contrib/Csaba Henk2009-08-126-45/+554
|
* upgrade FUSE protocol to 7.12 and add support for older versions of the protocolCsaba Henk2009-08-122-18/+115
|
* basic version of direct FUSE interface (ie. not relying on libfuse)Csaba Henk2009-08-126-989/+1472
|
* protocol/client: fixed registration of saved_fdsAnand Avati2009-08-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | In client_open_cbk, client_opendir_cbk the list_add_tail macros were invoked with wrong ordered arguments, causing the existing registered fd list to get unlinked from the saved_fds list. The effects of this is far fetched - when transport disconnects, open fds are no more marked bad as they are not reachable from the saved_fds list. After reconnection, resumed access on this fd causes reference to invalid fds on the server. It could appear in the form of 'unresolved fd' error, readdir happening on a file fd, files reading from other files, etc. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 192 (sefault in posix-readdir) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=192 BUG: 126 (Immediate segfault when used for rootfs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=126 BUG: 173 ([ glusterfs 2.0.6rc1 ] - "server SEG fault") URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=173 BUG: 194 (Apache+Booster results in inconsistent download size using wget) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=194
* Removed BRANCH: tagAnand V. Avati2009-08-061-2/+2
|
* server-lookup: added path info from header to log messageAmar Tumballi2009-08-041-3/+4
| | | | | | | | | | | | in the previous commit, the path info was removed to prevent the segfault, which instead could have been provided from request header directly. More specific information is required for debugging, and hence adding the path log. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 189 (segfault in server-lookup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=189
* dht_stat_merge - use the highest uid when ambiguousAnand Avati2009-08-041-2/+3
| | | | | | | | | When directories on different subvolumes have different ownerships, use the highest uid/gid till self-heal resolves the inconsistency Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 191 (random Permission denied errors) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=191
* add check for making sure 'fd' belongs to directory in posix-readdirAmar Tumballi2009-08-041-0/+7
| | | | | | | | | | | The root cause of this error is not found yet. But this check will make sure that there is no crash when the situation happens. Segfault can happen when a readdir() call comes over file's fd. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 192 (sefault in posix-readdir) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=192
* logging related bug fix in server_lookup()Amar Tumballi2009-08-041-4/+3
| | | | | | | | | | | | When 'dict_unserialize' failed, the log message was trying to print 'state->loc.path' and 'state->ino', which gets filled in later stages in flow. Caused segmentation fault when there was a failure. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 189 (segfault in server-lookup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=189
* increased ib-verbs buffer sizeAmar Tumballi2009-08-041-2/+2
| | | | | | | | | | | | | Noticed that in few cases, where ib-verbs doesn't handle a bigger sized buffer to be sent across, which happens without problem in tcp. Caused frame losses in the case where server's reply msg was bigger, hence the msg got dropped at the server end. With this patch ib-verbs buffer size is fixed to 512KB. (4 x page-size) Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 190 (missing frames due to larger reply message size.. (ib-verbs)) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=190
* adding an option to mount.glusterfs for server failover to fetch volume files.Amar Tumballi2009-08-041-20/+32
| | | | | | | | | | | | With this option, 'single point of failure', in case of volfile server can be avoided Thanks to Cory Meyer <cory.meyer@gmail.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 185 (Request to support secondary volfile-server option in mount.glusterfs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=185
* cluster/afr: inode-read: Check stat buf for NULL before attempting to set ↵Vikas Gorur2009-08-041-3/+4
| | | | | | | | | inode number. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 184 ([ glusterfs 2.0.6rc2 ] - Client Segfault while running fs-perf-test) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=184
* client-protocol: log messages at WARNING loglevel when client_bind on ↵Raghavendra G2009-07-312-2/+2
| | | | | | | | | privileged port fails. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 140 (use appropriate loglevel to log in case of failure to bind to privileged socket) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=140
* libglusterfsclient: Bind fd on fd creation code pathsShehjar Tikoo2009-07-312-3/+9
| | | | | | | | | | | | | | When an fd_t is fd_create'd, we need to call fd_bind on it to ensure that any fd_lookup on the inode gets us this fd. We're not doing this so translators like write-behind were not able to order path-based requests at all resulting in some fops like stat, which could be issued after a writev, overtaking a previous writev which is still being written-behind. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 179 (fileop reports miscompares on read tests) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=179
* libglusterfsclient: Invalidate iattr cache on readsShehjar Tikoo2009-07-311-4/+2
| | | | | | | | | | | Earlier we have invalidated the iattr cache on writes. Now we need to do so for reads also, so that we are not updating the iattr cache with 0-filled stat received from io-cache. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 180 (fileop fails at chmod with stale file handle error over unfs3) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=180
* replicate: Return ino from first subvolume on inode creation fopsShehjar Tikoo2009-07-301-9/+28
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 177 (replicate: On file/dir creation, replicate returns inode from random subvolumes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=177
* libglusterfsclient: Use iobufs for storing application write dataShehjar Tikoo2009-07-302-18/+85
| | | | | | | | | | | | | | | | | | | | | Till now we've been creating an iovec, storing references in it to the application data and simply passing it on to the translator tree. This means that the buffer being passed to the translators is not at all associated with the memory ref'd by the iobref argument to write fop. This is a problem when write-behind is a translator in the tree since it assumes that the memory in the iovecs passed to write fops is already refcounted by the iobref and so it simply copies the address of the application data. The problem is that the application can continue using this buffer, free it or over-write it destroying the data that write-behind may write at a later time. The solution involves copying the application's write buffer into an iobuf which will be referred to by the iobref. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 178 (libglusterfsclient: Data corruption on using write-behind in translator tree) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=178
* 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
* glusterfsd: handle logfile path specification appropriately.Basavanagowda Kanur2009-07-281-1/+8
| | | | | | | | | | | | | | | | | | | | when logfile path is not specified as absolute path, the symbolic link created to the logfile (only in invocation of glusterfs with --run-id) might end up as a broken symbolic link. for example, command-line invocation like below will result in broken symbolic link: glusterfsd -f /home/glusterfs/volfiles/nufa/nufa.vol -l ../home/glusterfs/logs/nufa.f1.log --run-id nufatest /mnt/nufa/ symbolic link will be created at $PWD/../home/glusterfs/logs/nufa.f1.log will have a value of ../home/glusterfs/logs/nufa.f1.log.<date>.<time>.<pid>. this symlink might be broken. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 156 (Broken symbolic link when relative path is given for a log file) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=156
* server-protocol: fix in server-loc-fill()Amar Tumballi2009-07-281-3/+0
| | | | | | | | | | | | to continue with 'hashed' inode, even if inode_path() on the inode fails. This will is needed for few lock operations, to unlock the lock held on inode. (ie, it fixes 'rm -rf *' hang issue, seen from multiple clients). 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
* libglusterfsclient: Fix solaris build errorShehjar Tikoo2009-07-281-2/+3
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 115 (./configure adds libglusterfsclient when it shouldn't) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=115
* libglusterfs: fix SuperFastHash function used in dicitionaries in fact it ↵smyczek2009-07-271-7/+0
| | | | | | | | | always returned the value of second parameter (len) as a result. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 155 (The SuperFastHash function used in dictionaries is broken.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=155
* cluster/afr: Use user-supplied struct flock to STACK_WINDVikas Gorur2009-07-271-1/+0
| | | | | | | | | | | | afr_lk_cbk: Use the original struct flock supplied by the user to do further STACK_WIND's, and not the flock returned by the previous STACK_WIND. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 159 (Client hangs when coherent byte range locks is attempted in replicate setup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=159
* libglusterfsclient: Workaround for local memory corruptionShehjar Tikoo2009-07-271-1/+1
| | | | | | | | | | | | There seems to a reproduceable corruption specifically of the libglusterfs_client_local_t that is allocated for the read call. Therefore, the subsequent access to fd inside local leads to a segfault. This is a temporary fix. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 164 (libglusterfsclient: Segfault due to memory corruption of frame local in libgf_client_read) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=164
* cluster/afr: Return same inode number in stat buf for readv_cbkVikas Gorur2009-07-272-0/+4
| | | | | | | | | | Remember the inode number that had been returned in lookup_cbk and set the stat buf->ino to the same. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 166 (libglusterfsclient: Cached stat buf inode is different from ino in inode_t) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=166
* cluster/afr: Set inode number in unwind_buf in the inode-write calls.Vikas Gorur2009-07-271-17/+17
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 166 (libglusterfsclient: Cached stat buf inode is different from ino in inode_t) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=166
* libglusterfsclient: Avoid overwrite of inode found through ino numberShehjar Tikoo2009-07-271-3/+8
| | | | | | | | | | | | | | | | | In libgf_client_loc_fill, there is a possibility that all the ino, par and name are specified as non-NULL,non-zero args. So if an inode is located in the itable using the ino and the subsequent search for the inode using the par-ino and the file name does not result in an inode being found, the current code over-writes the inode that was found through the ino. The correct behaviour is to stop further searches if inode was already found using ino. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 161 (unfs3 crashes on link system call by fileop) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=161
* libglusterfsclient: Fill new loc with target's ino on linkShehjar Tikoo2009-07-271-0/+1
| | | | | | | | | | | | | | | In the loc_t of the link being created, we must fill in the inode of the old/target loc since this is a link operation. The inode_link to the new parent is called in libgf_client_link. This fixes a crash while running fileop over a fully-loaded dist-repl vol file. Ref: Bugzilla 161 Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 161 (unfs3 crashes on link system call by fileop) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=161
* enable libglusterfsclient build by defaultAnand V. Avati2009-07-231-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfsclient: Fake a fsid for every VMPShehjar Tikoo2009-07-205-6/+72
| | | | | | | | | | | | This is needed to work around the replicate behaviour of possibly returning device number for the same file from different subvolumes. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 148 (replicate: Returns st_dev from different subvols resulting in ESTALE thru unfs3booster) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=148
* libglusterfsclient: Move DHT root-lookup workaround to initShehjar Tikoo2009-07-202-15/+12
| | | | | | | | | | | | | | | The workaround for the DHT requirement for a lookup on / needs to be done only once when the xlator graph is inited. Doing it on every path's lookup results in a major performance penalty when using distribute subvolumes upwards of 16, as reported by Avati. Ref: bug 152 Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 152 (libglusterfsclient: DHT workaround is a major performance bottleneck) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=152
* added timestamp to crash dump log.Amar Tumballi2009-07-201-4/+19
| | | | | | | | | also did some minor enhancements in formating Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 151 (crash dump log should be in 'logviewer' friendly format) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=151
* fix build warnings in 'libglusterfsclient'Amar Tumballi2009-07-201-1/+5
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 130 (build warnings) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=130
* fix build warnings in 'afr'Amar Tumballi2009-07-202-6/+18
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 130 (build warnings) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=130
* fix build warnings in 'server-protocol'Amar Tumballi2009-07-202-26/+47
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 130 (build warnings) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=130
* fix build warnings in 'client-protocol'Amar Tumballi2009-07-201-7/+19
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 130 (build warnings) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=130
* fix build warnings in 'io-cache'Amar Tumballi2009-07-201-1/+7
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 130 (build warnings) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=130
* fix build warnings in 'auth' moduleAmar Tumballi2009-07-202-5/+33
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 130 (build warnings) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=130
* fix build warnings in glusterfsdAmar Tumballi2009-07-201-22/+41
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 130 (build warnings) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=130
* fix build warnings in 'libglusterfs/'Amar Tumballi2009-07-208-53/+145
| | | | | | | | | | | return value of 'asprintf' was not checked, and the flow was continuing without returning error, which could cause potential segfaults in code (mostly possible during ENOMEM case). Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 130 (build warnings) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=130
* posix getxattr supports new key 'trusted.glusterfs.location'Amar Tumballi2009-07-202-0/+24
| | | | | | | | | | which can be used to get the file location by 'hostname' of the machine where file resides. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 131 (provide a way to get the file location in clustered storage) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=131
* removed mod_glusterfs from the buildAmar Tumballi2009-07-172-107/+1
| | | | | | | future plan is to have httpd use booster and libglusterfsclient instead. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* 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
* Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/glusterAnand V. Avati2009-07-160-0/+0
|\
| * Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/glusterAnand V. Avati2009-07-090-0/+0
| |\
* | | server: don't check for 'loc->parent' in entrylk and inodelk callsAmar Tumballi2009-07-161-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
* | | change mount.glusterfs.in to work with non-bash shells too.Amar Tumballi2009-07-161-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | iostat to have more io detailsAmar Tumballi2009-07-161-9/+59
| | | | | | | | | | | | | | | | | | classified stat for write/read fops based on their block size. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>