diff options
author | Ashish Pandey <aspandey@redhat.com> | 2015-07-15 16:37:37 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2015-08-29 03:31:58 -0700 |
commit | 44e58a9385b0661c7015b317669c01c699ee9a3e (patch) | |
tree | ed97f503939d1ff5ab5fe67510e220cdb6b38443 /xlators/cluster/ec | |
parent | fd47635a4ffab621a2357c99cd1edd0482940bd5 (diff) |
ec : trusted.ec.version xattr of all root directories of all bricks should be same.
Problem:
After replacing the brick using "replace-brick" command and running "heal
full", the version of the root directory of the newly added brick is not
getting healed. heal starts running on the dentries of the root but does not
run on root directory.
Solution:
Run heal on root directory.
Change-Id: Ifd42a3fb341b049c895817e892e5b484a5aa6f80
BUG: 1243382
Signed-off-by: Ashish Pandey <aspandey@redhat.com>
Reviewed-on: http://review.gluster.org/11676
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Diffstat (limited to 'xlators/cluster/ec')
-rw-r--r-- | xlators/cluster/ec/src/ec-heald.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/xlators/cluster/ec/src/ec-heald.c b/xlators/cluster/ec/src/ec-heald.c index 75f58487264..4498d2e8db2 100644 --- a/xlators/cluster/ec/src/ec-heald.c +++ b/xlators/cluster/ec/src/ec-heald.c @@ -379,12 +379,14 @@ ec_shd_full_healer (void *data) { struct subvol_healer *healer = NULL; xlator_t *this = NULL; + loc_t rootloc = {0}; int run = 0; healer = data; THIS = this = healer->this; + rootloc.inode = this->itable->root; for (;;) { pthread_mutex_lock (&healer->mutex); { @@ -404,6 +406,7 @@ ec_shd_full_healer (void *data) "starting full sweep on subvol %s", ec_subvol_name (this, healer->subvol)); + ec_shd_selfheal (healer, healer->subvol, &rootloc); ec_shd_full_sweep (healer, this->itable->root); gf_msg (this->name, GF_LOG_INFO, 0, |