summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/dht
Commit message (Collapse)AuthorAgeFilesLines
* cluster/dht: clear local->cached_subvol when switching to do_fresh_lookupAnand Avati2011-08-061-0/+1
| | | | | | | | | | | | The presence of local->cached_subvol makes dht_lookup_everywhere_done behave as though it was a lookup on a file where linkfile needs to be recreated. In a fresh lookup, local->cached_subvol should be NULL. Change-Id: Ie6bd6ad536def03d970526d51e20c6daeb00922b BUG: 3317 Reviewed-on: http://review.gluster.com/185 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* DHT rename: Recreate linkfile after unlinkshishir gowda2011-08-033-144/+50
| | | | | | | | | | | | | This is done, so that there is no gfid mismatch. Unlink the older linkfile if it exists, and recreate it with the correct gfid. Also removed unused rename related code. BUG: 2522 Change-Id: Ic1c5f7ff66090e9147d75530b6ab3f9ef123f4ae Reviewed-on: http://review.gluster.com/143 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* cluster/dht: dht_rename() - handle GFID situationsAnand Avati2011-07-251-4/+51
| | | | | | | | | | | | | In the pre-GFID era, the linkfile of the destination file could be reused the linkfile for the renamed file when dst_cached == src_cached. This patch handles this situation and reverts the previous (wrong) fix. Change-Id: Iba57b5eb91cf8b1fb40e74f6399cdf99b8b00410 BUG: 2464 Reviewed-on: http://review.gluster.com/88 Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: Joe Julian <joe.julian.prime@gmail.com> Reviewed-by: Amar Tumballi <amar@gluster.com>
* dht: use gfid of the actual file while recreating the proper linkfilesRaghavendra Bhat2011-07-231-1/+4
| | | | | | | | Change-Id: Ia024fd136c936c5a73e2cdacdb738e5d2912d619 BUG: 2464 Reviewed-on: http://review.gluster.com/78 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@gluster.com>
* dht: changes in volume_options to assist volume setKaushik BV2011-07-171-3/+26
| | | | | | | | Signed-off-by: Kaushik BV <kaushikbv@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2041 (volume set help option) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2041
* cluster/dht: fix race between two directory renamesAnand Avati2011-07-121-17/+89
| | | | | | | | | | let the race get arbitrated at the dst_hashed subvolume. Change-Id: I140fc5b0176ee752ebef648c539b404653e91bdd Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2522 ([glusterfs-3.1.3qa8]: rm -rf shows invalid argument) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2522
* loc_t: add 'gfid' and 'pargfid' fieldsAmar Tumballi2011-06-141-1/+4
| | | | | | | | | | | | | | these fields are used mainly in case of selfheal path, where 'inode->gfid'||'parent->gfid' is not yet set. These fields in 'loc' will have lower precedence than 'inode->gfid' in client protocol. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* DHT selheal dir: Recreate dirs with correct gfid.shishir gowda2011-06-091-3/+1
| | | | | | | | | | | When selfheal of dir is triggered, make sure the dirs are recreated with the correct gfid, to prevent mismatch of gfids in the backend. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2994 ([glusterfs-3.2.1qa2]: untar and rm in parallel hangs untar) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2994
* cluster/dht: use GFID returned from hashed subvolumeAnand Avati2011-06-091-0/+5
| | | | | | | | | | | | | .. to perform lookups on remaining subvolumes. This way, if there is a race between two clients to 'fix' GFIDs with gfid-req, then the hashed subvolume will arbitrate and return the winner in stbuf->ia_gfid. This patch uses the returned gfid as the new gfid-req thereby preventing mismatching GFIDs on other servers due to further races. Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2522 ([glusterfs-3.1.3qa8]: rm -rf shows invalid argument) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2522
* cluster/distribute: corrected layout mismatch handling logicAmar Tumballi2011-05-312-147/+17
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2281 (I/O operations exit when add-brick is done) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2281
* DHT-rename: Unlink older link files before creating new one.shishir gowda2011-05-313-1/+147
| | | | | | | | | | | If older link file exists, unlink it and then create linkfiles. This will prevent mismatch of gfid Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2464 ([7b07d444a77526f27f860210930bf1d4c7fbea9b]: rm -rf gives Invalid argumenrt error) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2464
* cluster/dht: detect linkfiles mismatching gfid and delete+recreateAnand Avati2011-05-311-73/+109
| | | | | | | Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2522 ([glusterfs-3.1.3qa8]: rm -rf shows invalid argument) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2522
* cluster/dht: notify should succeed when waiting for all subvols first eventPranith Kumar K2011-05-311-1/+3
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2870 (Inconsistent xattr values when creating bricks) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2870
* DHT: Propogate error if dht_rmdir_opendir_cbkshishir gowda2011-04-111-0/+2
| | | | | | | | | | | | | Earlier rmdir would succeed on all up subvols, but fuse would get an error if one of the subvol was down. In follow up lookup, self heal would be triggered, and since st_mode would be 0, the permissions would be bad. The behaviour now is to fail rmdir if subvol is down Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2591 (Directories changing to d--------- permission after trying to delete) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2591
* DHT: send revalidate to all subvols and not just first subvolshishir gowda2011-04-081-6/+10
| | | | | | | | | | | Reverting commit 23d9783a192669b638d42b8dd127ad69ea36f950. When first subvolume is down, mount point becomes inaccessible. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2532 ([glusterfs-3.1.3qa8]: bringing first subvolume down makes mount point inaccessible) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2532
* cluster/dht: send inode number from 'inode->ino' in dir_lookup_cbkAmar Tumballi2011-04-061-5/+6
| | | | | | | | | | | that way, even when there is a conf->gen number change, inode number is preserved. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@gluster.com> BUG: 2584 (Inode number changes on a directory when one of subvolumes is down in replicate) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2584
* dht: log filename on failed reavalidateAnand Avati2011-02-251-2/+3
| | | | | | | | | | The previous log message is pretty much useless without the path Signed-off-by: Anand Avati <avati@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2346 (Log message enhancements in GlusterFS - phase 1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2346
* dht: do not send revalidates to all subvolsAnand Avati2011-02-221-10/+6
| | | | | | | | Signed-off-by: Anand Avati <avati@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2450 (scalability enhancements) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2450
* core: have framework for GF_EVENT_CHILD_MODIFIED notifcation eventAnand Avati2011-02-221-1/+8
| | | | | | | | | | | | | If anything changes anywhere in the graph, all xlators know that something has changed. Previously dht and afr would mask certain events from propagating up. Now they forward GF_EVENT_CHILD_MODIFIED event in those situations Signed-off-by: Anand Avati <avati@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2450 (scalability enhancements) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2450
* Solaris build fixesshishir gowda2011-02-221-1/+1
| | | | | | | | | | | | | | Disable geosync build for non-linux platforms. And fix solaris related build failures.The symbol getxattr was not available on solaris. The build on linux passed as getxattr symbol was available in the library. The argument was not being used, hence removed it. Make 64 bit build default in CFLAGS option by passing -m64 option Signed-off-by: Shishir Gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2440 (Fix solaris build issues seen on latest git) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2440
* cluster/dht : implement a fsetxattr() commandAmar Tumballi2011-02-182-0/+45
| | | | | | | | | | Thanks to Jeff Darcy <jdarcy(at)redhat.com> for the patch Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2319 (DHT uses wrong subvolume for fsetxattr) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2319
* cluster/dht: Send removexattr() to all subvolumes.Vikas Gorur2011-02-141-4/+52
| | | | | | | | Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2426 (removexattr is not sent to all subvolumes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2426
* cluster/dht: Perform self-heal as rootPranith K2011-02-083-35/+2
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2370 (cluster/afr: Perform self-heal as root) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2370
* cluster/dht: restore attrs of dirs in self-healPranith K2011-02-071-3/+63
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2371 (dht: Set owners of directories after performing self-heal as root) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2371
* Revert "distribute: Return ESTALE when dir selfheal finds no fix"Anand V. Avati2011-02-041-6/+2
| | | | This reverts commit a4c948aca6058049523e31acf33ce5770f8693ad.
* adding libxlator, to ensure proper client side aggregation of marks by ↵Kaushik BV2011-01-273-10/+76
| | | | | | | | | | | clustering translators Signed-off-by: Kaushik BV <kaushikbv@gluster.com> Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2310 (georeplication) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2310
* cluster/distribute: fix warnings due to format string mismatches during ↵Raghavendra G2010-12-141-2/+2
| | | | | | | | | | invocation of gf_log. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2211 ((re)introduce warnings for format string/parameter mismatch) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2211
* distribute: handle a case of 'local->key' being free'd twice.Amar Tumballi2010-11-131-1/+0
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 2097 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2097
* Fix DHT getxattr for directoriesshishir gowda2010-11-033-17/+68
| | | | | | | | | | | | When a heal on the directory or layout changes, the user xattrs do not get healed in dht. The current fix sends the getxattr call n all the subvolumes, aggregates it and sends the response Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1991 (distribute directory self-heal does not copy user extended attributes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1991
* distribute: bring in statfs normalizationAmar Tumballi2010-10-272-6/+36
| | | | | | | | | | | | | | We had normalization of statvfs structure in 'cluster/unify' translator, with distribute, we had this section as 'TODO:'. Now, the same code is migrated to distribute. Thanks to <marty.rosenberg@gmail.com> for sending the patches Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1035 (The distribute translator does not handle differently sized block sizes and/or fragment sizes) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1035
* unwind if layout is NULL in getxattr for dhtRaghavendra Bhat2010-10-121-0/+7
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1917 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1917
* dht: change behaviour CHILD_UP/DOWN/CONNECTING event propagationAnand Avati2010-10-112-1/+85
| | | | | | | | | | | The first CHILD_UP/DOWN/CONNECTING event to pass dht upwards should be only after all subvols have reported their status atleast once. Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1643 (Initial requests after mount ESTALE if DHT subvolumes connect after nfs startup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1643
* Revert "distribute: Propagate CHILD-UP when all subvols are up"Anand Avati2010-10-112-18/+3
| | | | | | | | | | This reverts commit 6b2e2fb0903fc56105c267881f202a4865a8b6c7. Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1643 (Initial requests after mount ESTALE if DHT subvolumes connect after nfs startup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1643
* Copyright changesVijay Bellur2010-10-1113-13/+13
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* Reply back to CLI on error, by validating each xlator's optsKaushik BV2010-10-051-0/+39
| | | | | | | | Signed-off-by: Kaushik BV <kaushikbv@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1159 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1159
* distribute: check for 'conf' before dereferencing itAmar Tumballi2010-10-054-15/+85
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1806 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1806
* Change GNU GPL to GNU AGPLPranith K2010-10-0413-39/+39
| | | | | | | | Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1388 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1388
* rmdir: introduce extra flags parameter in FOP prototypeAnand V. Avati2010-10-021-2/+4
| | | | | | | | Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 971 (dynamic volume management) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=971
* stat enhancementsAmar Tumballi2010-10-011-8/+22
| | | | | | | | | | | | | * dht to send 'setxattr' to all subvolumes in the layout * server dumps info on total bytes read/written for 'trusted.io.stat.dump' key * server dumps all the mount point IP for 'trusted.list.mount.point' key. * io-stats dumps latency information only if measured Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1701 (better statistics gathering in glusterd) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1701
* Changes to replace flock with gf_flock across GlusterFS.Pavan Sondur2010-10-011-4/+4
| | | | | | | | Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 865 (Add locks recovery support in GlusterFS) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=865
* Changing readdir calls to readdirp calls in DHTshishir gowda2010-09-281-1/+1
| | | | | | | | | | | | Changing readdir calls to readdirp calls to handle layout issues seen in dht. Also, changing posix readdir call to do stat after dir read for readdirp. Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1690 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1690
* distribute: Propagate -1 op_ret on failed fopShehjar Tikoo2010-09-281-0/+1
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1717 (dht_attr_cbk does not propagate op_ret on failed fop causing nfs crash) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1717
* distribute: don't check for inode's gfid in _cbkv3.1.0qa34Amar Tumballi2010-09-271-2/+1
| | | | | | | | | | | | * in dht_lookup_dir_cbk(), at the entry itself we are dereferencing local->inode, which can be NULL in many cases. Hence no need to check/dereference that variable. Just check 'local->gfid'. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1696 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1696
* distribute: don't update the inode's gfid directlyAmar Tumballi2010-09-235-11/+37
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1680 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1680
* distribute: bring in feature to fix the layout of root inodeAmar Tumballi2010-09-231-1/+143
| | | | | | | | | | | | | | | | | * If the errno is ESTALE for root, fuse doesn't send fresh lookup on the path (it does for all other inodes). Earlier layout mismatch for root never used to happen inside codebase, and if noticed, it was serious issue. Now with DVM, after a add-brick or a remove-brick, layout can be changed even for 'root' inode. Needed to fix this issue inside distribute itself, instead of fuse sending 'fresh' lookup on root. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1630 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1630
* distribute: in linkfile creation check for valid gfid in inodev3.1.0qa28Amar Tumballi2010-09-221-10/+10
| | | | | | | | | | | * if inode->gfid is not valid (ie, null), take the gfid from the parameter dictionary passed from higher layer Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1565 (deleting files after dht rebalance) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1565
* distribute: while selfhealing directory, send proper gfid in dictAmar Tumballi2010-09-223-13/+27
| | | | | | | | | | | | | * this was the root cause for having layout mismatches in case of add-brick, because the gfid of directories on newly added brick was always mismatching, which caused many operation on that particular brick fail. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1629 (files missing during add-brick) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1629
* distribute: Propagate CHILD-UP when all subvols are upShehjar Tikoo2010-09-222-3/+18
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1643 (Initial requests after mount ESTALE if DHT subvolumes connect after nfs startup) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1643
* distribute: Return ESTALE when dir selfheal finds no fixShehjar Tikoo2010-09-221-2/+6
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1641 (Distribute must return error when dir selfheal has no fix) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1641
* Glusterd: gluster volume set <volume> <option> <value>Kaushik BV2010-09-181-0/+62
| | | | | | | | Signed-off-by: Kaushik BV <kaushikbv@gluster.com> Signed-off-by: Vijay Bellur <vijay@dev.gluster.com> BUG: 1159 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1159