summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* protocol/client: return ENOENT if inode context is missingAnand Avati2009-12-041-21/+49
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* mount/fuse: Refactored fuse_setattr.Vikas Gorur2009-12-041-103/+40
| | | | | | | | | | | | | | | | | | | | | | If both truncate & setattr need to be sent from fuse_setattr, they are now sent one after the other (setattr first, and then truncate) instead of being sent parallelly. The earlier code that sent them parallelly had a couple of problems: 1) A bug in the logic that would sometimes cause the setattr call to never return, making the application hang. 2) A possibility that truncate and setattr would race at the server/io-threads/posix end, thus returning the wrong stat structure to the application. This patch also removes an unneccessary "can_fuse_return" call in fuse_attr_cbk, which would cause a call to hang if STAT or FSTAT failed. Signed-off-by: Vikas Gorur <vikas@gluster.com> 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
* afr: fix memory leaksAnand Avati2009-12-043-14/+36
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
* performance/stat-prefetch: add "caller" arguement to sp_process_inode_ctx.Raghavendra G2009-12-041-21/+37
| | | | | | | | | | | - since sp_process_inode_ctx is called by many fops, if the context is not set "caller" argument can be logged in log msgs to identify caller. Signed-off-by: Raghavendra G <raghavendra@gluster.com> 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_check_and_create_inode_ctx.Raghavendra G2009-12-041-161/+122
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> 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: refactor sp_lookup_cbk to use sp_update_inode_ctx.Raghavendra G2009-12-041-29/+10
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> 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: dont check for inode context in fops like create, ↵Raghavendra G2009-12-041-259/+262
| | | | | | | | | | | | | mkdir. - context will not be set as a fresh inode is passed in each of these calls. instead create a new context. Signed-off-by: Raghavendra G <raghavendra@gluster.com> 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
* protcol/server: server_connection_destroy - destroy frame after issuing flushAnand Avati2009-12-041-5/+5
| | | | | | | | | | | | | frame was getting destroyed after unlocking, but before issuing flush. This could result in corruption if an fd was opened between server_connection_cleanup and server_connection_destroy because of pending open calls in io-threads at the time of POLLERR disconnection Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 430 (Server crash when client is killed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=430
* features/locks: Process State Dump support for locks.Pavan Sondur2009-12-041-0/+213
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 306 (Enhance locks to aid debugging) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=306
* fixing some warnings on 64bit machine.Amar Tumballi2009-12-034-23/+28
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 408 (warning while building on 64bit machine..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=408
* features/locks: Fix inodelk leak when issued an UNLOCK.Pavan Sondur2009-12-031-4/+4
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 222 (Enhance Internal locks to support multilple domains and rewrite inodelks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=222
* storage/posix: Fix Leak in posix_getxattr while filtering gen-number xattr.Pavan Sondur2009-12-031-0/+2
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* mount/fuse: Print correct log message if encountered with errno - EAGAIN.Pavan Vilas Sondur2009-12-031-0/+9
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 336 (Use lock owner field from fuse in locks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336
* features/locks: Release all locks of an fd when a client disconnects.Pavan Vilas Sondur2009-12-034-5/+66
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 336 (Use lock owner field from fuse in locks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336
* features/locks: Changes in log messages reflecting lk-owner.Pavan Sondur2009-12-034-26/+38
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 336 (Use lock owner field from fuse in locks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336
* protocol/server: Changes in protocol client to include lk_owner in protocol ↵Pavan Vilas Sondur2009-12-036-9/+23
| | | | | | | | | | header. Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 336 (Use lock owner field from fuse in locks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336
* features/locks: Use owner field in inodelks.Pavan Vilas Sondur2009-12-032-4/+20
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 336 (Use lock owner field from fuse in locks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336
* features/locks: Use owner field for entrylks.Pavan Vilas Sondur2009-12-032-15/+35
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 336 (Use lock owner field from fuse in locks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336
* features/locks: Use lock_owner from fuse in posix locks.Pavan Vilas Sondur2009-12-034-7/+20
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 336 (Use lock owner field from fuse in locks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336
* mount/fuse: Use fuse lock_owner field in posix locks.Pavan Vilas Sondur2009-12-032-4/+38
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 336 (Use lock owner field from fuse in locks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=336
* mount/fuse: Handle the case when attribute_timeout is set to 0 in dictionary.Vijay Bellur2009-12-031-1/+1
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 252 (client coherence problem with locks and truncate) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=252
* glusterfsd: Handle argument attribute-timeout when set to 0Vijay Bellur2009-12-031-1/+2
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 252 (client coherence problem with locks and truncate) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=252
* core: Change replicate trash directory name to ".landfill".Vikas Gorur2009-12-031-1/+4
| | | | | | | | | | | The earlier name ".trash" conflicts with the name used by the trash translator. Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 227 (replicate selfheal does not remove directory with contents in it) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=227
* core, client, server: Support auxiliary group idsShehjar Tikoo2009-12-034-0/+60
| | | | | | | | | | | | | | | | | | | Support for auxiliary group ids is needed for transmission of more than one group id right through the xlator tree so that posix can use these group ids to perform in-house permission tests. The in-house permission checks are needed so that we do not have to depend on non-POSIX calls like setfs[ug]id for changing the user for each fop. The setfs[ug]id are also limited since they do not allow setting multiple group id as required for operation with NFS, which sends us all the group ids for a process issuing file system requests. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 400 (Support auxiliary gids in GlusterFS) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=400
* cluster/afr: Don't mark the fop as failed if rmdir returns ENOTEMPTY.Vikas Gorur2009-12-031-1/+1
| | | | | | | | | | | Marking the fop as failed in the ENOTEMPTY case led to spurious entry self-heals. Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 326 ([2.0.8rc9] Spurious self-heal) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=326
* 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
* performance/stat-prefetch: don't access stat if lookup has been failed.Raghavendra G2009-12-031-1/+1
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 429 (crash in lookup_cbk when lookup returns with error) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=429
* Hopefully fix rpm building for everyone by rm-ing *.a and *.laErick Tryzelaar2009-12-031-3/+2
| | | | | | | | | My Fedora 11 machine doesn't seem to make the .a files, so it errors out, but it appears someone else's machine does, so try to fix it by explicitly removing the .a and .la files, rather than excluding them from the %files section. Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* Disable fusermount by default in configure.ac.Pavan Sondur2009-12-031-3/+2
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 343 (Placeholder bug for adding volgen into rpm, bdb makefile changes, etc) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=343
* posix-compliance test now passes over stripeAmar Tumballi2009-12-031-36/+51
| | | | | | | | | | | | | * needed to have ctime in the statbuffer from first subvolume. * unlink should be sent to all subvolumes no matter what. (earlier it was sent to all nodes only in case of regular files, causing directory not empty type of errors in 'rm -rf' cases) Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 321 (over distributed-stripe set-up, annihilate.sh fails.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=321
* storage/posix: Change janitor sleep duration to 10 minutes.Vikas Gorur2009-12-031-1/+1
| | | | | | | | Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 227 (replicate selfheal does not remove directory with contents in it) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=227
* cluster/afr: Don't do transactional flush if pre-op has been nowhere done.Vikas Gorur2009-12-031-18/+106
| | | | | | | | | | | If a pre-op has not been done on any subvolume at all, there is no reason to make flush a transaction call. Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 427 (flush on a file opened read-only should not hold locks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=427
* storage/posix: Filter out generation number xattr.Vikas Gorur2009-12-031-1/+6
| | | | | | | | | | | | Don't return the generation number xattr "trusted.<volname>.gen" in getxattr, since this can cause replicate self-heal to copy it over to another subvolume. Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 315 (generation number support) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=315
* performance/write-behind: Changed default value of option disable-till to 0Vijay Bellur2009-12-021-1/+1
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 425 (Change disable-till default to 0) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=425
* features/locks: Release blocked locks also when server requests to release ↵Pavan Sondur2009-12-022-12/+46
| | | | | | | | | | all locks of a 'transport'. Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 222 (Enhance Internal locks to support multilple domains and rewrite inodelks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=222
* cluster/afr: Add log messages when setattr fails in self-heal.Vikas Gorur2009-12-022-0/+14
| | | | | | | | Signed-off-by: Vikas Gorur <vikas@gluster.com> 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
* performance/stat-prefetch: get inode context from local->loc.inode instead ↵Raghavendra G2009-12-021-4/+9
| | | | | | | | | | | | of inode passed as arguement in sp_lookup_cbk. - @inode in sp_lookup_cbk may be NULL in case of failure of lookup. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 426 (stat on mount point hangs.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=426
* cluster/afr: Fix conditional typo.Vikas Gorur2009-12-021-1/+2
| | | | | | | | Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
* storage/posix: Added janitor thread.Vikas Gorur2009-12-027-18/+137
| | | | | | | | | | | | | | | | | | The janitor thread deletes all files and directories in the "/" GF_REPLICATE_TRASH_DIR directory. This directory is used by replicate self-heal to dump files and directories it deletes. This is needed because letting replicate walk the directory tree and delete a directory and all its children is too racy. Instead, replicate self-heal only does an atomic rename(), and the janitor thread takes care of actually deleting them. Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 227 (replicate selfheal does not remove directory with contents in it) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=227
* performance/stat-prefetch: fix access to inode table.Raghavendra G2009-12-021-13/+23
| | | | | | | | | | | - Access the inode table from one of fd->inode->table, inode->table or parent->table instead of from root xlators itable. 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
* fixes to compile on MacOSX (no fuse client)Amar Tumballi2009-12-015-21/+24
| | | | | | | | | | | | | | | These changes are required to make GlusterFS compile on MacOSX (10.5). Currently glusterfs server component alone will work over Mac, and it has to be built with following options to ./configure. "bash$ ./configure --disable-fuse-client --disable-fusermount " Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 361 (GlusterFS 3.0 should work on Mac OS/X) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=361
* bring new MOP called NOTIFY.Amar Tumballi2009-12-012-2/+11
| | | | | | | | | | | | | | which can be used as a bridge between client and server processes, when needed. This mop is needed now, so that many features in 3.0.0 can come in with this without bumping protocol version. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 201 (server should get notified about client 'umount') URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=201
* afr: remove memcpy of @local contents in afr_local_copyAnand Avati2009-12-011-8/+23
| | | | | | | | | | | | copy out members which are needed. memcpy of full local causes a copy of pointers without references and results in various corruption errors Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
* afr: fix fd reference leakAnand Avati2009-12-011-1/+1
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 170 (Auto-heal fails on files that are open()-ed/mmap()-ed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=170
* performance/io-cache: Hold locks on inode before creating rbt tree.Vijay Bellur2009-12-011-20/+29
| | | | | | | | | | Lock is held before creating a RBT in inode. Also, did some re-factoring. Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 335 (Io-cache optimization) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=335
* 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
* extras/benchmarking: port glfs-bm.c to master.Raghavendra G2009-12-011-21/+29
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 422 (port glfs-bm to latest code-base) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=422
* changed the version of glusterfs from 2.1.0 to 3.0.0Amar Tumballi2009-12-012-2/+2
| | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
* trash_ftruncate fop addedAmar Tumballi2009-12-011-0/+357
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 142 (enhance features/trash translator so it can work on client side too..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=142