summaryrefslogtreecommitdiffstats
path: root/xlators
Commit message (Collapse)AuthorAgeFilesLines
* 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
* 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
* 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>
* quick-read: implement qr_readvRaghavendra G2009-07-161-0/+525
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - pseudo-code of the algorithm is given below if (content is cached) { validate-contents (); if (content cached is valid) { stack unwind with cached content; } else { goto read-from-storage; } } else { goto read-from-storage; } return; read-from-storage: if (open is already done on fd) { stack-wind read; } else { add the current readv to list of operations waiting on completion of open; if (open on the fd is in transit) { do nothing; } else { stack-wind open; } } return; Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* quick-read: implement qr_openRaghavendra G2009-07-162-0/+219
| | | | | | | | - The file is opened actually only if it is not cached already in lookup. This adds responsibility for fops operating on fds to make sure that a valid fd actually opened on a file is used to complete the fop. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* quick-read: add qr_lookup.Raghavendra G2009-07-162-0/+147
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Implementing quick-read translator.Raghavendra G2009-07-165-1/+184
| | | | | | | | | | | | | | | | | lookup can fetch the entire file in xattr dictionary using the key "glusterfs.content". We set the maximum size of the file that can be fetched so in the xattr_req dictionary using the same key. If file-size is less than or equal to the value set in dictionary, the content is stored in the dictionary using same key in lookup_cbk. For small files, we can do an optimization wherein we do not really send the calls open, read and close to the storage translators. Instead there can be an xlator which fakes open, read and close calls. For reads, it sends the data it has cached during lookup and hence saving the time for open, read and close calls to reach storage translators (this time can be significant if calls have to go through network to reach storage translator). Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Return stat from read subvolume in dir-write ops.Vikas Gorur2009-07-162-52/+83
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 138 (create family calls do not return stat buf from read child) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=138
* Return stat info from read-child in all the inode-write opsVikas Gorur2009-07-162-18/+205
| | | | | | | | | | | Also modifies the inode-write ops to wait for the call to read-child to return (whether success or failure) before unwinding. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 125 (stat information not returned from the same subvolume always) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=125
* 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
* fuse_bridge: handle failures in init() more gracefullyCsaba Henk2009-07-151-6/+37
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 132 (fuse-bridge could do with some cleanups) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=132
* fuse-bridge: formatting cleanupsCsaba Henk2009-07-151-70/+72
| | | | | | | | | | - use PRIu64 for printing "unique" - use fcntl defines instead of explicit numeric values for querying open flags Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 132 (fuse-bridge could do with some cleanups) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=132
* fuse-bridge: further allocation failure handling fixesCsaba Henk2009-07-151-20/+63
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 132 (fuse-bridge could do with some cleanups) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=132
* fuse-bridge: handle state allocation failureCsaba Henk2009-07-151-33/+46
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 124 (state allocation failure not handled) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=124
* Added NULL checks in a few places.Vikas Gorur2009-07-151-7/+25
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 119 (filter + replicate crash..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=119
* Return inode number always from the first up subvolume in AFR.Vikas Gorur2009-07-152-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> BUG: 116 (Replicate: Need inode number from first subvolume on fresh lookup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=116
* 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>
* 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-071-0/+4
| | | | | | | | | | | | 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>
* filter: use O_ACCMODE for checking file access modes.Raghavendra G2009-07-071-3/+6
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* read-ahead: use O_ACCMODE for checking file access modes.Raghavendra G2009-07-071-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* write-behind: Use O_ACCMODE while checking for access modes.Raghavendra G2009-07-071-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Set timestamps properly when creating missing entries.Vikas 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>
* cluster/afr - replace ZR_FILENAME_MAX by NAME_MAXBasavanagowda Kanur2009-07-061-4/+4
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* cluster/unify - replace ZR_FILENAME_MAX by NAME_MAXBasavanagowda Kanur2009-07-062-14/+14
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* protocol/server - replace ZR_FILENAME_MAX by NAME_MAXBasavanagowda Kanur2009-07-061-7/+7
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* protocol/client - replace ZR_FILENAME_MAX by NAME_MAXBasavanagowda Kanur2009-07-061-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* storage/bdb - replace ZR_FILENAME_MAX by NAME_MAXBasavanagowda Kanur2009-07-061-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* storage/posix - replace ZR_FILENAME_MAX by NAME_MAXBasavanagowda Kanur2009-07-061-2/+2
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Modified mount.glusterfs to print usage in case of no mountpoint provided ↵Harshavardhana Ranganath2009-07-061-20/+47
| | | | | | and "-o" options to be agnostic of their position. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>