diff options
author | shishir gowda <shishirng@gluster.com> | 2012-04-11 11:47:17 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2012-04-13 00:42:25 -0700 |
commit | d80846bee0621f591a7b519743e4d91a620ccdca (patch) | |
tree | a21aebdd73122adc0892ee3c41c3a6e7deb5159d /xlators/cluster/dht/src/dht-common.c | |
parent | c2ebd7aa84ed666ac8d1f0e9424cd01f877fb53b (diff) |
dht/rebalance: Handle ASSERT_ON_CHILD_DOWN gracefully
In rebalance process, instead of terminating, send a stop
event. The migration in question will either complete or
be handled as error.
Also, handle few syncop calls as errors, instead of just
logging them.
Change-Id: If6ed54474cb0f1fe0e28a5765e6d90966740dfde
BUG: 811444
Signed-off-by: shishir gowda <shishirng@gluster.com>
Reviewed-on: http://review.gluster.com/3120
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/cluster/dht/src/dht-common.c')
-rw-r--r-- | xlators/cluster/dht/src/dht-common.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index d58cac9fa..57bacb888 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -4568,7 +4568,11 @@ dht_notify (xlator_t *this, int event, void *data, ...) if (conf->assert_no_child_down) { gf_log (this->name, GF_LOG_WARNING, "Received CHILD_DOWN. Exiting"); - kill (getpid(), SIGTERM); + if (conf->defrag) { + gf_defrag_stop (conf->defrag, NULL); + } else { + kill (getpid(), SIGTERM); + } } for (i = 0; i < conf->subvolume_cnt; i++) { |