summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* libglusterfsclient: handle intermediate path components which are symlinks ↵Raghavendra G2009-09-081-5/+10
| | | | | | | | | | | | | properly in glusterfs_glh_realpath. - while building the realpath, if the intermediate path happens to be a symbolic link, the content of link was being appended at dirname (path), instead of appending to intermediate path. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 237 (If any of the path component other than the last one, happens to be a symbolic link glusterfs_glh_realpath does not construct correct path.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=237
* libglusterfsclient: handle paths terminating with '/' properly in ↵Raghavendra G2009-09-081-1/+7
| | | | | | | | | libgf_trim_to_prev_dir. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 236 (Stack overflow due to infinite recursion in glusterfs_glh_realpath) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=236
* libglusterfsclient: handle failures in glusterfs_glh_realpath.Raghavendra G2009-09-081-1/+1
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 235 (Handle failures in glusterfs_glh_realpath appropriately) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=235
* libglusterfsclient: check for memory allocation failure in ↵Raghavendra G2009-09-081-0/+4
| | | | | | | | | glusterfs_glh_realpath. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 235 (Handle failures in glusterfs_glh_realpath appropriately) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=235
* libglusterfsclient: handle symlinks properly in glusterfs_glh_opendir.Raghavendra G2009-09-081-1/+1
| | | | | | | | | | - exclude symbolic links from set of filetypes to which ENOTDIR is returned, since a symbolic link can point to a directory. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 234 (Apache-2.2 on booster returns HTTP_FORBIDDEN for a directory which is present) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=234
* libglusterfsclient: fix to the way symbolic links are handled in ↵Raghavendra G2009-09-081-6/+17
| | | | | | | | | | | | | glusterfs_glh_realpath. - don't assume the content returned by readlink while constructing realpath of a symbolic link to contain vmp as part of the path. This is necessary in case of symbolic links which contain relative paths as targets. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 233 (Crash in Apache running on booster when a client tries to access a symbolic link) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=233
* performance/quick-read: if open fails during cache validation, don't ↵Raghavendra G2009-09-082-2/+24
| | | | | | | | | continue validation process. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 232 (Quick-read: if open fails during cache validation, don't continue validation process.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=232
* performance/quick-read: Fix access of freed memory in qr_open_cbk.Raghavendra G2009-09-081-1/+9
| | | | | | | | | | | | | - It may so happen that current frame might be unwound and local might be freed when waiting operations are resumed. Hence store the information of whether this frame belongs to an open call in a local variable, instead accessing the flag from local at the end of qr_open_cbk. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 231 (Quick-read: Fix access of freed memory in qr_open_cbk.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=231
* storage/posix: Synchronize access to this->private.Vikas Gorur2009-09-082-23/+52
| | | | | | | | | Hold lock on priv while updating variables inside it. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 175 (Statistics for number of open files in Posix incorrect) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=175
* storage/posix: Handle setgid bit on directories correctlyVikas Gorur2009-09-081-10/+108
| | | | | | | | | | | If a directory has the setgid bit set, then any entry created under it must have group ownership same as the directory. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 241 (Gluster not honouring SETGID flag) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=241
* performance/stat-prefetch: don't check for a non-null parent and inode in ↵Raghavendra G2009-09-081-3/+0
| | | | | | | | | newloc during rename. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: minor bug-fixes.Raghavendra G2009-09-081-9/+9
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: update design document.Raghavendra G2009-09-081-44/+45
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* storage/posix: handle dentries from different mount points in readdirRaghavendra G2009-09-081-34/+51
| | | | | | | | | | | | | | | | | - If posix translator is configured to have export directories to span accross different mount points, inode number is transformed in the dentry returned. Otherwise, the entry is not added to list of entries returned in readdir callback. - storage/posix returns ENOENT if the file is on different mount point other than that of exported directory and is not configured for export directory spanning across multiple mountpoints during lookup. But, since stat-prefetch shortcuts lookup calls, its necessary that readdir return only valid dentries. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement release callbacks.Raghavendra G2009-09-081-1/+21
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_fxattrop.Raghavendra G2009-09-081-0/+37
| | | | | | | | | | .../performance/stat-prefetch/src/stat-prefetch.c | 37 ++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_xattrop.Raghavendra G2009-09-082-4/+37
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_checksum.Raghavendra G2009-09-082-2/+41
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_getdents.Raghavendra G2009-09-082-1/+89
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: flush stat corresponding to directory being read ↵Raghavendra G2009-09-082-3/+22
| | | | | | | | | | | | | in readdir - delete the entry corresponding to basename of path on which fd is opened from cache stored in parent. This is necessary because readdir changes st_atime. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_setdents.Raghavendra G2009-09-082-1/+53
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_removexattr.Raghavendra G2009-09-081-24/+50
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_setxattr.Raghavendra G2009-09-081-0/+26
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_rename.Raghavendra G2009-09-082-3/+65
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_fsync.Raghavendra G2009-09-081-0/+36
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_writev.Raghavendra G2009-09-081-0/+38
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_readv.Raghavendra G2009-09-081-0/+47
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_rmdir.Raghavendra G2009-09-082-0/+57
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_unlink.Raghavendra G2009-09-081-1/+42
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_readlink.Raghavendra G2009-09-081-0/+34
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_utimens.Raghavendra G2009-09-081-0/+26
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_ftruncate.Raghavendra G2009-09-081-0/+36
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_truncate.Raghavendra G2009-09-081-0/+25
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_fchown.Raghavendra G2009-09-081-0/+36
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_chown.Raghavendra G2009-09-081-0/+25
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_fchmod.Raghavendra G2009-09-081-0/+36
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_link.Raghavendra G2009-09-081-0/+29
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_symlink.Raghavendra G2009-09-081-0/+30
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_mknod.Raghavendra G2009-09-081-0/+30
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_mkdir.Raghavendra G2009-09-081-0/+39
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_opendir.Raghavendra G2009-09-081-0/+27
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_create.Raghavendra G2009-09-081-0/+158
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_open.Raghavendra G2009-09-081-0/+58
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* common-utils: introduce new macro GF_VALIDATE_OR_GOTO_WITH_ERRORRaghavendra G2009-09-081-0/+9
| | | | | | | | | | - the existing macro GF_VALIDATE_OR_GOTO sets errno to EINVAL which may not be appropriate in all cases. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* stat/prefetch: free cache if it cannot be put into context of fdRaghavendra G2009-09-081-0/+1
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: introduce sp_fd_ctx_t to hold context of fdsRaghavendra G2009-09-082-11/+144
| | | | | | | | | | | | | | - we need following extra members along with cache 1. basename of path on which fd is opened. This is necessary to search for cached entry in fd based fops. 2. inode corresponding to dirname of path on which fd is opened. This is necessary to get cache where entry corresponding to file on which fd is opened. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_chmod.Raghavendra G2009-09-081-0/+34
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_readdir.Raghavendra G2009-09-082-3/+169
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* performance/stat-prefetch: implement sp_lookup.Raghavendra G2009-09-082-0/+314
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221
* rewriting stat-prefetch translatorRaghavendra G2009-09-086-499/+177
| | | | | | | | | | | - stat-prefetch aims to optimize operations like 'ls -l' where a readdir is immediately followed by stat calls on each of the directory entry read. More details on design can be found in doc/stat-prefetch-design.txt Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 221 (stat prefetch implementation) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=221