summaryrefslogtreecommitdiffstats
path: root/libglusterfsclient/src/libglusterfsclient.c
Commit message (Collapse)AuthorAgeFilesLines
* libglusterfsclient/readv: fix data corruption.Raghavendra G2010-01-141-2/+3
| | | | | | | | | | | | - libgf_client_readv should return the total number of bytes read by multiple invocations of libgf_client_iobuf_readv, instead of return value of last invocation. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 531 (accessing a file through apache results in Permission denied errors.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=531
* Support for Compilation on SolarisVijay Bellur2009-12-201-0/+2
| | | | | | | | | | | | | | This is based on patch at: http://node3.rnode.ru/glusterfs-3.0.0-p1.patch Thanks to Petrunin Egor <shellcode@mail.ru> for this patch. Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 481 (Fix compilation failures in Solaris) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=481
* libglusterfsclient: fix libgf_client_read to handle short readsAnand Avati2009-12-061-2/+9
| | | | | | | | | | | | | Fixes two issues in the current code -short reads (reading larger than file size) result in failure of full read -reads which span multiple iterations return with the op_ret of only the last read Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 334 (glusterfs_read/readv should break large-reads into 128Kb block sizes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=334
* libglusterfsclient/chdir: assign op_ret the return value of libgf_client_chdir.Raghavendra G2009-12-061-1/+1
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 446 (apache does not start in daemon mode on fedora core 11.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=446
* libglusterfsclient: Separate order of path compaction and VMP search for abs ↵Shehjar Tikoo2009-12-031-9/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | and rel paths The previous set of changes for relative paths in libglusterfsclient break the absolute path operation. The fix involves differentiating between absolute and relative paths in terms of the order in which the 2 operations are performed: - path compaction - VMP search For absolute paths, since we assume that VMP is already perfixed to the path, we need the following order of operation: 1. VMP search 2. path compaction on the path components beyond the VMP. For relative paths, the operations are reversed because there we do not have a VMP pre-fixed in order to perform a VMP search. This means that a path compaction combined with prepending of the CWD is needed to get an absolute path before the VMP is searched for. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient/read: break reads bigger than the iobuffer size into ↵Raghavendra G2009-12-011-16/+34
| | | | | | | | | | smaller ones. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 334 (glusterfs_read/readv should break large-reads into 128Kb block sizes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=334
* libglusterfsclient/readv: break reads bigger than the iobuffer size into ↵Raghavendra G2009-12-011-27/+55
| | | | | | | | | | smaller ones. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 334 (glusterfs_read/readv should break large-reads into 128Kb block sizes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=334
* libglusterfsclient/umount: fix double free.Raghavendra G2009-11-181-1/+1
| | | | | | | | | | - calling glusterfs_fini results in double free. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient: don't change the st_dev in stat-structure before doing ↵Raghavendra G2009-11-181-8/+7
| | | | | | | | | | | | | | | inode_link. - st_dev is used for storing generation number of the inode in inode_link and libgf_iattr_transform changes the st_dev to fake_fsid. If inode_link is done after libgf_iattr_transform, the generation number stored will be wrong and will result in ESTALE errors from server. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient/open: don't send create call if the file is already ↵Raghavendra G2009-11-181-1/+5
| | | | | | | | | | present, instead send open. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient: update iattr cache only if operation was successful.Raghavendra G2009-11-181-12/+27
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient: fix memory leak.Raghavendra G2009-11-181-44/+16
| | | | | | | | | | | | | | | | - glusterfs_glh_getxattr was implemented using libgf_client_lookup. Hence the inode corresponding to the path on which getxattr was done was refed twice - one during path_lookup and the other in libgf_client_lookup - but unrefed only once. - with inode generation number changes the inode returned by inode_link may not be the same as the input argument. Hence the inode returned by inode_link should be used, not the one returned in libgf_client_lookup_cbk. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient: change the prototype of glusterfs_lsetxattr.Raghavendra G2009-11-181-3/+2
| | | | | | | | | | | - it no longer needs handle to be passed as arguement. handle is searched in the vmp table based on the path. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient: getxattr should return the length of the xattr when size ↵Raghavendra G2009-11-181-11/+19
| | | | | | | | | | is zero Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient/ftruncate: add braces to ensure proper evaluation of if ↵Raghavendra G2009-11-181-2/+2
| | | | | | | | | | conditional. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient: implement glusterfs_truncate.Raghavendra G2009-11-181-1/+104
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient: fix libgf_vmp_virtual_path. - This procedure used to ↵Raghavendra G2009-11-181-8/+11
| | | | | | | | | | return garbage as virtual path if the path happens to be exact mount point but without the trailing slash and the vmp had a trailing slash. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient: implement glusterfs_getcwd.Raghavendra G2009-11-181-0/+64
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient: implement glusterfs_fchdir.Raghavendra G2009-11-181-4/+129
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient: implement glusterfs_chdir.Raghavendra G2009-11-181-0/+117
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient: Support relative paths.Raghavendra G2009-11-181-319/+321
| | | | | | | | | | | - This patch is a port of the patch with same title on 2.0 branch. The original patch was sent by Shehjar <shehjart@gluster.com>. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* Revert "booster, libglusterfsclient: Support samba specific relative paths"Raghavendra G2009-11-181-171/+166
| | | | | | | | | | This reverts commit e6fc0cbe716a18f02891d3911481fdcb121d8840. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 369 (Samba does not work with booster.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=369
* libglusterfsclient: Dont alloc root inode contextShehjar Tikoo2009-11-031-1/+0
| | | | | | | | | | | | ....because the lookup on root inode done a few lines before this call already allocates an inode context. This one just over-writes that context, results in invalidation of the cached iattrs. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 354 (Stale file handle on unfs3 booster) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=354
* libglusterfsclient: Prevent root inode number clobberingShehjar Tikoo2009-11-031-19/+29
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 354 (Stale file handle on unfs3 booster) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=354
* booster, libglusterfsclient: Support samba specific relative pathsShehjar Tikoo2009-10-301-166/+171
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 158 (libglusterfsclient: Applications are restricted to using absolute paths) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=158
* libglusterfsclient: don't do inode_link on root inode.Raghavendra G2009-10-301-1/+4
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 348 (touch on booster segfaults) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=348
* booster: seperate out the implementations of readdir and readdir64.Raghavendra G2009-10-261-1/+1
| | | | | | | | | | | | - readdir and readdir64 should not call same procedure booster_readdir in their implementation, since the layout of dirent structures returned by libc implementations of readdir and readdir64 is different (readdir returns struct dirent *, where as readdir64 returns struct dirent64 *). Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 333 (ls on paths not on virtual mounts report wrong directory contents) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=333
* Changed occurrences of Z Research to Gluster.Vijay Bellur2009-10-071-1/+1
| | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* libglusterfsclient: Port directory reading to readdirp fopShehjar Tikoo2009-10-061-9/+6
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 292 (Separate readdirp functionality from readdir fop) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=292
* libglusterfsclient: Remove redundant fchown and fchmodShehjar Tikoo2009-10-011-78/+0
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* libglusterfsclient: Use fsetattr for fchownShehjar Tikoo2009-10-011-1/+7
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* libglusterfsclient: Use fsetattr for fchmodShehjar Tikoo2009-10-011-1/+5
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* libglusterfsclient: Support fsetattr fopShehjar Tikoo2009-10-011-0/+41
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* libglusterfsclient: Remove redundant chown codeShehjar Tikoo2009-10-011-38/+0
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* libglusterfsclient: Remove redundant chmod codeShehjar Tikoo2009-10-011-37/+0
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* libglusterfsclient: Remove redundant utimens codeShehjar Tikoo2009-10-011-42/+0
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* libglusterfsclient: Use setattr for utimeShehjar Tikoo2009-10-011-8/+13
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* libglusterfsclient: Use setattr for utimesShehjar Tikoo2009-10-011-7/+9
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* libglusterfsclient: Use setattr for chownShehjar Tikoo2009-10-011-1/+6
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* libglusterfsclient: Use setattr for chmodShehjar Tikoo2009-10-011-1/+5
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* libglusterfsclient: Support setattr fopShehjar Tikoo2009-10-011-0/+40
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 146 (Add setattr FOP) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
* Global: NFS-friendly prototype changesShehjar Tikoo2009-10-011-34/+58
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 145 (NFSv3 related additions to 2.1 task list) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=145
* libglusterfsclient: don't destroy the iobuf pool during fini.Raghavendra G2009-09-281-1/+1
| | | | | | | | | | | | | - some of the iobufs in pool will be cached by io-cache and hence refcount will not be zero. Hence the assertion of ref being zero in __iobuf_arena_destroy fails. Commenting out iobuf_pool_destroy during fini, till we introduce proper cleanup in all translators, thereby allowing io-cache to release the buffers it has held. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 283 (booster aborts complaining the refcount of iobuf is not zero during glusterfs_umount_all.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=283
* libglusterfsclient: traverse the vmplist during fini only if any entries are ↵Raghavendra G2009-09-281-5/+8
| | | | | | | | | | | | mounted. - the vmplist.list is inited only during mounting of first entry. Hence doing a list traversal when no vmpentries are present, results in a segfault. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 282 (segfault of applications using booster observed when the application does not mount any vmps.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=282
* libglusterfsclient: Support TRACE loglevelShehjar Tikoo2009-09-241-1/+4
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 210 (libglusterfsclient: Enhance logging) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210
* libglusterfsclient: Wait for all call pools to be destroyedShehjar Tikoo2009-09-241-0/+34
| | | | | | | | | | | | This ensures that the process using libglusterfsclient does not exit before all the fops and calls have been replied to. It helps to ensure that the backends are in a sane state when the program exits. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 279 (File written with booster results in self-heal after dd exits) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=279
* libglusterfsclient: Clean up fini and umount code pathsShehjar Tikoo2009-09-241-19/+5
| | | | | | | | | | | | | | | | | | | This patch cleans up the umount and fini paths in preparation to support waiting for unwind of all pending call frames. Two misc fixes are: 1. Fix to avoid deadlock in _libgf_umount by using _libgf_vmp_search_entry instead of libgf_vmp_search_exact_entry since the latter tries to take a lock already help by _libgf_umount. 2. Avoid a crash in _libgf_umount by deleting the vmp entry from the list before it gets freed. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 279 (File written with booster results in self-heal after dd exits) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=279
* libglusterfsclient: Reduce logging aggressiveness to TRACEShehjar Tikoo2009-09-241-18/+18
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 210 (libglusterfsclient: Enhance logging) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=210
* libglusterfsclient: Re-validate root inode on every path resolutionShehjar Tikoo2009-09-241-0/+1
| | | | | | | | | | | | | | If the root inode's is outdated, send a revalidate on it. A revalidate on root inode also reduces the window in which an op will fail over distribute because the layout of the root directory did not get constructed when we sent the lookup on root in glusterfs_init. That can happen when not all children of a distribute volume were up at the time of glusterfs_init. Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 256 (revalidates should be sent on '/' in libglusterfsclient.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=256
* libglusterfsclient: Fix build warningsShehjar Tikoo2009-09-221-18/+20
| | | | | | | Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 275 (libglusterfsclient: Generic build failure bug for libglusterfsclient and booster) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=275