diff options
| author | Pranith Kumar K <pkarampu@redhat.com> | 2015-02-13 21:04:22 +0530 | 
|---|---|---|
| committer | Raghavendra Bhat <raghavendra@redhat.com> | 2015-02-22 09:19:16 -0800 | 
| commit | 21cf6ac8b852a04ded1e5399240292d0795035f6 (patch) | |
| tree | 40337b679bd97e5716bdb43f0f25110532fe757c /xlators | |
| parent | 58b71c64308e7680b5fc5326ed1aed294f848ecb (diff) | |
cluster/afr: Crawl should continue on self-heal failures
Problem:
If self-heal fails on the last entry of readdir response list, index heal
stops.
Fix:
Continue crawl even with partial failures.
PS: Bug seems to exist only on 3.6.2, on master the code is fine
after http://review.gluster.com/9485
Change-Id: Ie39b0d424297e3c95a05cbe72438dfd9a4d5696d
BUG: 1192522
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/9653
Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
Diffstat (limited to 'xlators')
| -rw-r--r-- | xlators/cluster/afr/src/afr-self-heald.c | 5 | 
1 files changed, 2 insertions, 3 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heald.c b/xlators/cluster/afr/src/afr-self-heald.c index 29f34107481..992ed28b994 100644 --- a/xlators/cluster/afr/src/afr-self-heald.c +++ b/xlators/cluster/afr/src/afr-self-heald.c @@ -479,8 +479,8 @@ afr_shd_index_sweep (struct subvol_healer *healer)  			if (ret == -ENOENT || ret == -ESTALE) {  				afr_shd_index_purge (subvol, fd->inode,  						     entry->d_name); -				ret = 0;  			} +                        ret = 0;  		}  		gf_dirent_free (&entries); @@ -1028,8 +1028,7 @@ afr_shd_gather_index_entries (xlator_t *this, int child, dict_t *output)  				continue;  			} -			ret = afr_shd_dict_add_path (this, output, child, path, -						     NULL); +			afr_shd_dict_add_path (this, output, child, path, NULL);  		}  		gf_dirent_free (&entries);  | 
