cluster/afr: Re-introduce heal-timeout option

Change-Id: I87484c810006a92ed7489284b6d74e9b0aecae80
BUG: 1177601
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/9598
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
This commit is contained in:
Pranith Kumar K 2015-02-05 21:26:04 +05:30 committed by Vijay Bellur
parent 2efb36047a
commit 5e25569ed0
3 changed files with 14 additions and 1 deletions

View File

@ -129,7 +129,7 @@ __afr_shd_healer_wait (struct subvol_healer *healer)
priv = healer->this->private;
disabled_loop:
wait_till.tv_sec = time (NULL) + 60;
wait_till.tv_sec = time (NULL) + priv->shd.timeout;
while (!healer->rerun) {
ret = pthread_cond_timedwait (&healer->cond,

View File

@ -50,6 +50,7 @@ struct subvol_healer {
typedef struct {
gf_boolean_t iamshd;
gf_boolean_t enabled;
int timeout;
struct subvol_healer *index_healers;
struct subvol_healer *full_healers;

View File

@ -200,6 +200,9 @@ reconfigure (xlator_t *this, dict_t *options)
GF_OPTION_RECONF ("iam-self-heal-daemon", priv->shd.iamshd, options,
bool, out);
GF_OPTION_RECONF ("heal-timeout", priv->shd.timeout, options,
int32, out);
priv->did_discovery = _gf_false;
ret = 0;
@ -346,6 +349,7 @@ init (xlator_t *this)
GF_OPTION_INIT ("self-heal-daemon", priv->shd.enabled, bool, out);
GF_OPTION_INIT ("iam-self-heal-daemon", priv->shd.iamshd, bool, out);
GF_OPTION_INIT ("heal-timeout", priv->shd.timeout, int32, out);
priv->wait_count = 1;
@ -749,5 +753,13 @@ struct volume_options options[] = {
.type = GF_OPTION_TYPE_BOOL,
.default_value = "off",
},
{ .key = {"heal-timeout"},
.type = GF_OPTION_TYPE_INT,
.min = 60,
.max = INT_MAX,
.default_value = "600",
.description = "time interval for checking the need to self-heal "
"in self-heal-daemon"
},
{ .key = {NULL} },
};