path: root/xlators/cluster/ec/src/ec.c
diff options
authorAshish Pandey <>2016-02-04 12:07:36 +0530
committerXavier Hernandez <>2016-02-08 23:20:43 -0800
commit12fbcd22d80be9cdd7e60341a173741d1d00f711 (patch)
treebd6588b3a0270f5fb01376f70897c4515a0e3405 /xlators/cluster/ec/src/ec.c
parentdd8306b2f2e38f5de1386461d7f33ac0b64f2886 (diff)
cluster/ec: Automate heal for replace brick
Problem: After a replace brick command, newly added brick does not contain data which existed on old brick. Solution: Do getxattr after initialization of all the bricks. This will trigger heal for brick root as soon as it finds the version mismatch on newly added brick. Removing tests from ec-new-entry.t which were required to simulate automation of heal after replace brick. Change-Id: I08e3dfa565374097f6c08856325ea77727437e11 BUG: 1304686 Signed-off-by: Ashish Pandey <> Reviewed-on: Reviewed-by: Pranith Kumar Karampuri <> Tested-by: Pranith Kumar Karampuri <> Smoke: Gluster Build System <> NetBSD-regression: NetBSD Build System <> CentOS-regression: Gluster Build System <>
Diffstat (limited to 'xlators/cluster/ec/src/ec.c')
1 files changed, 5 insertions, 0 deletions
diff --git a/xlators/cluster/ec/src/ec.c b/xlators/cluster/ec/src/ec.c
index aad24e4dab7..1f15af10dab 100644
--- a/xlators/cluster/ec/src/ec.c
+++ b/xlators/cluster/ec/src/ec.c
@@ -515,6 +515,11 @@ unlock:
if (propagate) {
error = default_notify (this, event, data);
+ if (ec->shd.iamshd &&
+ ec->xl_notify_count == ec->nodes) {
+ ec_launch_replace_heal (ec);
+ }
return error;