From e8fac4c883de8e8e1f2ef949e7a8897605adff0e Mon Sep 17 00:00:00 2001 From: Richard Wareing Date: Tue, 29 Sep 2015 15:35:08 -0700 Subject: cluster/afr: SHD should not use did_discovery code paths Summary: - Exempt the SHD from the discover code path Test Plan: - prove -v tests/bugs/fb8149516.t - Make rc and canary on offending host (gfsdataswarm048.prn2) Reviewers: moox, dph, sshreyas Reviewed By: sshreyas Differential Revision: https://phabricator.fb.com/D2491694 Change-Id: I691a990950e13be6e376c64fddb110cd6ceefe47 Signed-off-by: Jeff Darcy Reviewed-on: https://review.gluster.org/18251 Reviewed-by: Jeff Darcy Tested-by: Jeff Darcy CentOS-regression: Gluster Build System Smoke: Gluster Build System --- xlators/cluster/afr/src/afr-common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c index 94f43f008a5..c7657dd5a9f 100644 --- a/xlators/cluster/afr/src/afr-common.c +++ b/xlators/cluster/afr/src/afr-common.c @@ -1108,7 +1108,7 @@ afr_inode_refresh_done (call_frame_t *frame, xlator_t *this, int error) err = afr_inode_refresh_err (frame, this); if ((ret && afr_selfheal_enabled (this)) || - (priv->did_discovery == _gf_false && + (!priv->shd.iamshd && (priv->did_discovery == _gf_false) && AFR_IS_ROOT_GFID (local->refreshinode->gfid))) { heal_frame = copy_frame (frame); if (!heal_frame) -- cgit