summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* | | quick-read: implement release and forget cbks.Raghavendra G2009-07-161-0/+49
| | | | | | | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* | | quick-read: implement qr_lk.Raghavendra G2009-07-161-0/+97
| | | | | | | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* | | quick-read: implement qr_ftruncate.Raghavendra G2009-07-161-0/+142
| | | | | | | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* | | quick-read: implement qr_fsync.Raghavendra G2009-07-161-0/+94
| | | | | | | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* | | quick-read: implement qr_finodelk.Raghavendra G2009-07-161-0/+100
| | | | | | | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* | | quick-read: implement qr_fentrylk.Raghavendra G2009-07-161-0/+100
| | | | | | | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* | | quick-read: implement qr_flush.Raghavendra G2009-07-161-0/+74
| | | | | | | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* | | quick-read: implement qr_fgetxattr.Raghavendra G2009-07-161-0/+101
| | | | | | | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* | | quick-read: implement qr_fsetxattr.Raghavendra G2009-07-161-0/+99
| | | | | | | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* | | quick-read: implement lc_fchmodRaghavendra G2009-07-161-0/+93
| | | | | | | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* | | quick-read: implement qr_fchownRaghavendra G2009-07-161-0/+95
| | | | | | | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* | | quick-read: implement qr_fstat.Raghavendra G2009-07-161-0/+94
| | | | | | | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* | | quick-read: implement qr_writevRaghavendra G2009-07-161-0/+118
| | | | | | | | | | | | | | | | | | - writev on any fd opened on a file invalidates the cache stored during lookup Signed-off-by: Anand V. Avati <avati@dev.gluster.com>