summaryrefslogtreecommitdiffstats
path: root/xlators/cluster
Commit message (Collapse)AuthorAgeFilesLines
* cluster/afr: Check before accessing xattrs in data self heal.Pavan Sondur2010-06-011-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 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
* cluster/stripe: NULL pointer dereference checks addedAmar Tumballi2010-05-281-152/+359
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 966 (NULL check for avoiding NULL dereferencing of pointers..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=966
* cluster/stripe: added STACK_UNWIND_STRICT macroAmar Tumballi2010-05-281-664/+717
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 966 (NULL check for avoiding NULL dereferencing of pointers..) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=966
* OS X: adjustments, minor fixes to eliminate warningsCsaba Henk2010-05-211-2/+4
| | | | | | | | Signed-off-by: Csaba Henk <csaba@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
* 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
* Bug 799: dht prints 100% full when subvolume is not connected to remote hostLakshmipathi2010-05-211-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
* fuse, dht: use readdir by default.Anand Avati2010-05-131-2/+15
| | | | | | | | | | | dht - switch over to readdirp based algo if one subvolume is down Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 898 (small file performance enhancements) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=898
* dht: perform revalidate on one subvolumeAnand Avati2010-05-131-108/+17
| | | | | | | | | | | | generation numbers should detect recreations and no need to rely on layout changes anymore Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@amp.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 898 (small file performance enhancements) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=898
* Unset split-brain flags in afr_self_heal_completion_cbk if self heal ↵Simone Gotti2010-05-093-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
* Fix for crash in stripe_entry_self_healAnush Shetty2010-05-081-1/+1
| | | | | | | | | Signed-off-by: Anush Shetty <anush@gluster.com> Signed-off-by: Anush Shetty <anush@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 887 (Crash in stripe_entry_self_heal) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=887
* Check whether a server is down before calling rename on the directoryRaghavendra Bhat2010-05-081-0/+7
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 820 (distribute directory rename problem when one subvol is down) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=820
* cluster/afr: Unwind lk using struct flock from a successful serverVikas Gorur2010-05-031-1/+2
| | | | | | | | Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 882 (directory traversing problem (client crash)) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=882
* frame's 'op', 'type' restructuredAmar Tumballi2010-05-039-29/+0
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 875 (Implement a new protocol to provide proper backward/forward compatibility) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=875
* dht: don't overwrite the layout after the subvolume expansionAmar Tumballi2010-04-291-1/+1
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 864 (dht self-heal overwrites layout causing 'missing' files.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=864
* cluster/stripe: Memory accounting changesVijay Bellur2010-04-271-5/+5
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 329 (Replacing memory allocation functions with mem-type functions) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=329
* cluster/dht: perform inode number overwrite in readv_cbk iatt with checksAnand Avati2010-04-271-1/+3
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 862 (Crash in dht_readv_cbk with error-gen) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=862
* Filter out extended attribute visibility on the mount point.Sachidananda2010-04-231-0/+6
| | | | | | | | | | | | Filter out extended attribute visibility on the mount point. This causes rsync -X to remove the extended attributes and `Stale NFS file handle' error on mount point, resulting in making the mount point inaccessible. Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 797 (DHT layout and posix generation number xattr's should be filtered) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=797
* Memory accounting changesVijay Bellur2010-04-2336-436/+970
| | | | | | | | | | | Memory accounting Changes. Thanks to Vinayak Hegde and Csaba Henk for their contributions. Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 329 (Replacing memory allocation functions with mem-type functions) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=329
* cluster/afr: Check for call_count in ENTRY_RENAME_TRANSACTIONVijay Bellur2010-04-201-1/+2
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 824 (Crash in afr rename transaction) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=824
* cluster/afr: Send xattr in lookup from the source subvolume.Vikas Gorur2010-04-201-0/+8
| | | | | | | | Signed-off-by: Vikas Gorur <vikas@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
* cluster/afr: Fix possible NULL dereference in readdirp_cbkVikas Gorur2010-04-201-15/+17
| | | | | | | | Signed-off-by: Vikas Gorur <vikas@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 722 (Segfault in glusterfs 3.0.3 replicate/afr_readdirp_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=722
* afr: afr_fsetattr - send proper inode pointer to afr_read_child()Anand Avati2010-04-081-1/+1
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 814 (replicate complains of invalid inode in afr_read_child()) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=814
* iatt: change S_IF macros with IA_IF macros in missing placesAnand Avati2010-04-082-22/+22
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 730 (unknown filetypes and inode conflicts in afr) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=730
* afr: fix inode ref leak in lookupAnand Avati2010-04-081-3/+0
| | | | | | | | | | | first success lookup sets local->cont.lookup with inode_ref and second setting leaks Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 813 (inode ref leak) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=813
* cluster/afr: Cleanup fd ctx in releasedir cbkVijay Bellur2010-04-083-5/+17
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 805 (memory leak in afr) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=805
* initialization fixesCsaba Henk2010-04-081-3/+3
| | | | | | | | Signed-off-by: Csaba Henk <csaba@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
* fop namespace cleanup.Amar Tumballi2010-03-316-392/+0
| | | | | | | | | | | | removed 'lock_notify', 'lock_fnotify', 'setdents', 'getdents' from 'fop' list, and removed 'stats' from mop list, as they are no more used in the codebase, and had made code bulky/buggy. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 734 (keep only the working/usable code in build tree to focus more on development) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=734
* stripe readv: proper validation of 'op_ret'.Amar Tumballi2010-03-311-5/+6
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 536 (fsx tool fails over stripe) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=536
* cluster/afr: UNWIND if opendir returns an error.Vijay Bellur2010-03-251-0/+3
| | | | | | | | Signed-off-by: Vijay Bellur <vijay@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 756 (simaltaneous rm -rf hangs the clients) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=756
* stripe: proper fix for reading 'holes'Amar Tumballi2010-03-252-130/+170
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 713 (fsx tool segfaults in readahead and iocache) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=713
* updated the build tree.Amar Tumballi2010-03-241-1/+1
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 734 (keep only the working/usable code in build tree to focus more on development) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=734
* Replace struct stat by struct iattRaghavendra Bhat2010-03-241-2/+2
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 749 (crash in stripe_readv_cbk) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=749
* iatt: changes across the codebaseAnand V. Avati2010-03-1632-1028/+1015
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - libglusterfs -- call-stub -- inode -- protocol - libglusterfsclient - cluster/replicate - cluster/{dht,nufa,switch} - cluster/unify - cluster/HA - cluster/map - cluster/stripe - debug/error-gen - debug/trace - debug/io-stats - encryption/rot-13 - features/filter - features/locks - features/path-converter - features/quota - features/trash - mount/fuse - performance/io-threads - performance/io-cache - performance/quick-read - performance/read-ahead - performance/stat-prefetch - performance/symlink-cache - performance/write-behind - protocol/client - protocol/server - storage-posix Signed-off-by: Anand V. Avati <avati@blackhole.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
* stripe: logic fixesAmar Tumballi2010-03-151-116/+139
| | | | | | | | | | | | | | | | * for setting 'local->failed' Earlier, stripe was not handling different errors from subvolumes, and hence failure testcases using 'debug/error-gen' were failing. With this fix, tests pass fine. * proper event handling in notify. Send CHILD_UP and CHILD_DOWN events properly. Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 691 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=691
* stripe: whitespace cleanupAmar Tumballi2010-03-152-224/+224
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 691 () URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=691
* send lookup on every subvolume if local->hashed_subvol is NULL in nufa/switchAmar Tumballi2010-03-122-4/+6
| | | | | | | | Signed-off-by: Amar Tumballi <amar@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 114 (Creating files or directories gives "Invalid argument") URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=114
* dht: preserve and return proper pre/postparent structures during unlinkAnand Avati2010-03-041-4/+7
| | | | | | | | Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 689 (Segfault (11) on op UNLINK) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=689
* distribute: cleanup intermediate hardlink and linkfile on failed renameAnand Avati2010-03-041-12/+78
| | | | | | | | | | | | | implement a generic cleanup function which handles cleanup of temporary linkfiles and hardlinks created as part of the rename transaction, and callable from any stage of failure. Signed-off-by: Anand V. Avati <avati@blackhole.gluster.com> Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
* distribute: perform self-heal as rootShehjar Tikoo2010-03-043-0/+37
| | | | | | | | | | | prerserve original frame uid and gid and perform self-heal by changing uid/gid to root (0) temporarily. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
* distribute, nufa: return 0 mtimes in preparent/postparentShehjar Tikoo2010-03-044-2/+58
| | | | | | | | | | | | | | Returning 0 times means the values are unreliable and not to be trusted for the purposes of caching. This is a temporary fix till we bring in proper times handling in DHT to return consistant values for parent inodes. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
* distribute: Save ino/dev from first subvolume during mkdirShehjar Tikoo2010-03-041-0/+6
| | | | | | | | | | | | | | A self-heal on directory creation results in the subsequent call to dht_selfheal_new_directory to happen only for the last subvolume. But when this function is called for the last subvol it is possible that the st_ino returned in this function's callback is the st_ino from the hashed subvolume(assigned in dht_mkdir_hashed_cbk). Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
* distribute: Restore parent ino from local in symlinkShehjar Tikoo2010-03-041-0/+8
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
* distribute: Restore inode from saved ino on readvShehjar Tikoo2010-03-041-1/+18
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
* distribute: Respect end-of-dir on readdir only for last subvolShehjar Tikoo2010-03-043-0/+40
| | | | | | | | | | | | | | | | We need to ensure that only the last subvolume's end-of-directory notification is respected so that directory reading does not stop before all subvolumes have been read. That could happen because the posix for each subvolume sends a ENOENT on end-of-directory but in distribute we're not concerned only with a posix's view of the directory but the aggregated namespace' view of the directory, which is maintained by distribute. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
* distribute: Return pre/post-parent on successful unlinkShehjar Tikoo2010-03-041-0/+2
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
* distribute: Return ino from the first-up subvolume in lookupShehjar Tikoo2010-03-041-1/+1
| | | | | | | | | | | | | | Not returning this from the first-up subvolume results in different inode numbers being returned for a directory when the same directory is read again through the NFS readdir request. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
* replicate: Use link's parent ino for post/pre-parent not target dir'sShehjar Tikoo2010-03-041-1/+1
| | | | | | | | Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
* replicate: Restore parent ino from saved inode numberShehjar Tikoo2010-03-041-0/+3
| | | | | | | | | | | | Not doing this was resulting in a 0 inode number being returned in postparent on lookup, which in turn results in a ESTALE at the NFS client since an inode number change was observed. Signed-off-by: Shehjar Tikoo <shehjart@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 597 (miscellaneous fixes for xlators to work well with NFS xlator) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=597
* cluster/afr: Failover readdir calls.Vikas Gorur2010-03-044-46/+299
| | | | | | | | | | | | | | | | This patch makes the replicate readdir call fail over to the next subvolume if the first call fails. It takes care to ensure that entries are not duplicated. The failover behavior of readdir only comes into effect if the option 'strict-readdir' is on. Signed-off-by: Vikas Gorur <vikas@dev.gluster.com> Signed-off-by: root <root@client02.(none)> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 453 (afr_readdir does not fail over) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=453
* local->failed set to one twiceRaghavendra Bhat2010-03-021-1/+1
| | | | | | | | Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 690 (local->failed set twice) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=690