summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* features/locks: Handle upgrade/downgrade of locks properly.v3.0.6rc1Pavan Sondur2010-10-182-3/+68
| | | | | | | | Signed-off-by: root <pavan@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1017 (Locking deadlock when upgrading lock) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1017
* replicate: remove checks which prevented self-heal when open fds were presentAnand V. Avati2010-10-182-11/+1
| | | | | | | | | | | this check is not needed anymore since the introduction of changelog piggybacking as the optimization technique instead of first-write-to-flush technique Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1235 (Bug for all pump/migrate commits) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1235
* replicate: replace first-write-to-flush optimizationAnand V. Avati2010-10-185-567/+423
| | | | | | | | | | | use a changelog piggybacking optimization instead of first-write-to-flush optimization and do other cleanups (removal of post-post-op hook etc.) Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1235 (Bug for all pump/migrate commits) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1235
* cluster/distribute: add option 'use-readdirp' to force readdirpAmar Tumballi2010-10-183-1/+15
| | | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1508 (add-brick works but files are not distributed to newly added server) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1508
* build glusterfs with '-O0' flag by defaultAmar Tumballi2010-09-211-5/+5
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1599 (can we build glusterfs with -O0 -g by default) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1599
* Add Solaris Packaging manifestHarshavardhana2010-08-1613-244/+228
| | | | | | | | | | | | | * script to build the package * init script for starting glusterfs server * pkginfo manifest and updated copyright. * options file which is read to take additional arguments to glusterfs server. Signed-off-by: Harshavardhana <harsha@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1212 (Add solaris building manifest) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1212
* fixes for spurious entry self-heal in afrPranith Kumar K2010-08-133-5/+17
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 974 (Spurious self-heal?) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=974
* cluster/afr: Avoid Null de-reference when post parent is NULLPranith Kumar K2010-08-121-1/+1
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 857 (Crash in afr_sh_entry_expunge_entry_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=857
* Fix for seg fault in dict_unserialize if undersized buffers are passedshishir gowda2010-08-061-2/+20
| | | | | | | | Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1031 (dict_unserialize crash if undersized buffers passed) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1031
* protocol/client: fix for client mem-leaks in case of failuresPranith Kumar K2010-08-061-0/+27
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 994 (memory leak in client protocol) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=994
* make glusterfs work with autofs5Csaba Henk2010-07-281-7/+21
| | | | | | | | | | | | | | | | | | autofs5 blocks all processes which try to access the fs, except for the one spawned by it (which one is expected to perform the mount). Therefore our autofs4 workaround -- after daemonization, original process waits for mounting to happen before exit -- does not work anymore. We need to do the mount in the original process itself. So we split glusterfs_graph_init() and move the fuse related part before daemonization. Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1043 (autofs access hangs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1043
* return ENOENT instead of EINVAL in client-protocolshishir gowda2010-07-151-3/+10
| | | | | | | | | | | | | | To fix ls command from returning a EINVAL error for a symlink and links over a striped distributed volume. Changing client_stat, client_lookup, client_link, client_setattr to return a ENOENT when the remote inode cannot be found on the striped non FIRST childs. Committer: shishir <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1006 ([3.0.5rc3 stripe] ls on link files gives EINVAL) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1006
* Fix segmentation fault in client_mkdirshishir gowda2010-07-151-0/+7
| | | | | | | | | committer: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 975 (Crash in client_mkdir) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=975
* v2 [PATCH BRANCH:release-3.0 BUG:1050] protocol/server: Convert OS specific ↵Pranith Kumar K2010-07-141-0/+16
| | | | | | | | | | | | | | lock value to Gluster lock value server/protocol's getlk implementation needs to convert the flock on the system to glfs own flock before returning it to the client to prevent misinterpretation of the flock structure. Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1050 (fcntl F_GETLK lock calls do not return correct flock on non-linux systems) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1050
* protocol/server: Fix memory leak when server authentication fails.Pranith Kumar K2010-07-131-23/+44
| | | | | | | | | | Thanks to zls <zls0424 at gmail dot com> for the patch. Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1012 (Memory leak in server_connection_cleanup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1012
* Add key/type pair to volume_options.Sachidananda2010-07-081-0/+3
| | | | | | | | Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 818 (transport.socket.lowlat option is not given as can be seen from the vol-file still the warning shows up in the logs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=818
* mount/fuse: Handle setting entry-timeout to 0.v3.0.5Vijay Bellur2010-07-051-1/+1
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1034 (rename() is not atomic) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1034
* glusterfsd: Handle setting entry-timeout to 0.Vijay Bellur2010-07-051-1/+2
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1034 (rename() is not atomic) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1034
* write-behind: fixes in flushv3.0.5rc9Anand Avati2010-07-021-138/+135
| | | | | | | | | | old code was resulting in duplicate flushes and spurious dangling flush frames Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1042 (Use correct flock structures in lk fops) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1042
* features/locks: Check flock structure before proceeding with the lk call.v3.0.5rc8Pavan Sondur2010-07-021-0/+6
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1042 (Use correct flock structures in lk fops) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1042
* cluster/afr: Return correct flock structures correctly in lk fops.Pavan Sondur2010-07-022-9/+11
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1042 (Use correct flock structures in lk fops) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1042
* cluster/afr: Set lk-owner to pid when fuse does not supply it.v3.0.5rc7Pavan Sondur2010-06-294-0/+18
| | | | | | | | | | | | | | | | Use the frame->root address as lk-owner when FUSE does not supply lk_owner. Raghu, I unit tested this patch with dbench and self heal tests. Did not observe lk-owner=0 in any server logs. Can you verify this patch with the other tests you had run today? Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1032 (Set lock-owner with pid when fuse does not supply value) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1032
* use STACK_UNWIND_STRICT to avoid postparent from having wrong address in ↵Raghavendra Bhat2010-06-251-1/+1
| | | | | | | | | | dht_selfheal_dir_mkdir_cbk Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1024 ([3.0.5rc6]: Crash in distriburte) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1024
* performance/io-cache: free table->mem_pool in fini.Raghavendra G2010-06-221-0/+5
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 995 (memory leak in io-cache) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=995
* free local->loc structure by using SP_STACK_UNWIND instead of STACK_UNWINDRaghavendra Bhat2010-06-141-1/+1
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 993 (memory leak-in stat-prefetch) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=993
* free sh_priv->loops to avoid memory leakRaghavendra Bhat2010-06-141-0/+2
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 992 (memory leak in afr_sh_algo_diff) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=992
* Fix compilation failure on Solaris in __socket_keepalive()v3.0.5rc6Vijay Bellur2010-06-081-1/+1
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 987 (Solaris compilation fails) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=987
* Revert "dht: perform revalidate on one subvolume"v3.0.5rc5Anand V. Avati2010-06-071-16/+106
| | | | This reverts commit 553b13789cc7c9a76cbac67d962763396f224165.
* performance/quick-read: fix the size-to-be pruned.v3.0.5rc4Raghavendra G2010-06-031-2/+2
| | | | | | | | | | | - size-to-be pruned used to be a negative number because of cache-used being subtracted from configured cache-limit (with cache-used > cache-limit). Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 980 (quick read - fetching from backend issue) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=980
* performance/quick-read: set default cache-size value to 128MB.Raghavendra G2010-06-031-1/+3
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 723 (enhancements to quick read) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=723
* Unset split-brain flags in afr_self_heal_completion_cbk if self heal ↵Simone Gotti2010-06-013-7/+12
| | | | | | | | | | | | | | | completes successfully. Signed-off-by: Simone Gotti <simone.gotti@gmail.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 884 (I/O errors after fixed split brain and successfully completed self heal) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=884 Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 884 (I/O errors after fixed split brain and successfully completed self heal) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=884
* cluster/afr: Handle open-fds of unlinked files during a possible self heal ↵Pavan Sondur2010-05-311-1/+15
| | | | | | | | | | | | | gracefully. Do not try to self heal open fds if inode_path fails and try and continue the write transaction. Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 803 ([3.0.4rc2] Crash in afr_up_down_flush_post_post_op) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=803
* dht prints 100% full when subvolume is not connected to remote hostLakshmipathi2010-05-311-1/+1
| | | | | | | | Signed-off-by: lakshmipathi <lakshmipathi@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 799 (dht prints 100% full when subvolume is not connected to remote host) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=799
* protocol/client: Add missing argument to readlink unwind call.Pavan Sondur2010-05-311-1/+2
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 967 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=967
* Revert "performance/write-behind: explicitly enforce ordering of overlapping ↵v3.0.5rc3Anand V. Avati2010-05-281-125/+122
| | | | | | writes." This reverts commit 6d9b11dba63d86c48450aa956281114962289ef5.
* protocol/server: Use EBADFD instead of EBADF in the case of a failed fd ↵Pavan Sondur2010-05-271-1/+1
| | | | | | | | | | resolution. Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 952 (EBADF returned by server-protocol confuses AFR) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=952
* protocol/client: Unwind with error if getting remote inode number fails.Pavan Sondur2010-05-271-1/+42
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 951 (Unwind if inode_ctx fails in all FOPS) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=951
* socket: make tcp keepalive work on OS XCsaba Henk2010-05-271-2/+10
| | | | | | | | | | | Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 754 (enable tcp keepalive) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=754 BUG: 754 (enable tcp keepalive) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=754
* resolver: set safer conditionals during path creationAnand Avati2010-05-271-1/+1
| | | | | | | | | | | | when client would send just the path as part of a transaction, path reconstruction would create parent directory's path instead of actual path at the time of resolution. Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 935 (Directories change mode from 0755 to 0644 automatically) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=935
* performance/write-behind: explicitly enforce ordering of overlapping writes.v3.0.5rc2Raghavendra G2010-05-261-122/+125
| | | | | | | | | | | | | | | | | - If there are non-contiguous offsets (offsets which do not start where previous write ended), wait for completion of previous writes to server, before sending new ones. - Send flush call to server only when all writes are completed. - If a file is opened with O_APPEND, at any point of time a maximum only one write call to server should be in transit. This is to avoid reordering of writes in the presence of afr which can result in data corruption. See bug #934 for more details. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 934 (md5sum mismatch when files are transferred using vsftpd) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=934
* Set op_ret to -1 when open fails in posix_openRaghavendra Bhat2010-05-261-0/+1
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 935 (Directories change mode from 0755 to 0644 automatically) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=935
* features/locks: Use fuse supplied lock owner even for internal locks.Pavan Sondur2010-05-262-2/+2
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 934 (md5sum mismatch when files are transferred using vsftpd) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=934
* performance/quick-read: implement an upper size limit for the cache.Raghavendra G2010-05-262-258/+613
| | | | | | | | Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 723 (enhancements to quick read) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=723
* stat-prefetch: Remove checks for loc->parentShehjar Tikoo2010-05-251-32/+0
| | | | | | | | | | | | ..because loc->parent can be NULL for the root inode. Having this check makes sp return EINVAL on perfectly valid fops. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 854 (nfs server didn't start) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=854
* cluster/afr: Check before accessing xattrs in data self heal.Pavan Sondur2010-05-211-1/+2
| | | | | | | | | | The lookup xattrs might be null, because a lookup might not have been issued during self heal, especially if only data self heal is required. Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 815 (quick-read and replicate self-heal interaction result in empty reads) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=815
* socket: Support TCP-KEEPALIVEShehjar Tikoo2010-05-212-0/+84
| | | | | | | | | | | | | | | | | | Introduces two new socket options: 1. transport.socket.keepalive: bool Sets keepalive on a transport. On by default. 2. transport.socket.keepalive-interval: integer Number of seconds between each keepalive message on the socket. Default in linux is 2 hours. To change that value for a given transport, use this option. Integer value is interval in seconds. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 754 (enable tcp keepalive) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=754
* Log proper error message when hostname or ip does not conform to standards.Sachidananda2010-05-211-1/+6
| | | | | | | | Signed-off-by: "Sachidananda Urs" <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 923 (Hostnames with underscores fail) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=923
* cluster/afr: Don't dereference fd ptr - it might be NULL due to a failed call.Pavan Sondur2010-05-211-1/+1
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 914 ([3.0.4] Crash in afr_opendir_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=914
* Adding GF_LOG_OCCASIONALLY to prevent repeated log messages when server goes ↵Anush Shetty2010-05-131-3/+7
| | | | | | | | | | down Signed-off-by: Anush Shetty <anush@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 906 (when server is down, client log gets filled up with error msgs) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=906
* libglusterfs: Provide ability to filter output of state dumpVijay Bellur2010-05-133-102/+258
| | | | | | | | | | | | | | | | Output of statedump can be controlled by having file /tmp/glusterdump.input. /tmp/glusterdump.input needs to have a <key>=<value> in each line. key can be one of 'priv', 'fd', 'inode', 'mem', 'callpool' and 'iobuf'. value has to be one of 'yes' or 'no'. If /tmp/glusterdump.input is not available, no filtering happens in statedump. Else statedump would contain only those sections which correspond to a <key> having value 'yes'. Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 828 (glusterdump filled up the /) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=828