diff options
author | Kinglong Mee <kinglongmee@gmail.com> | 2019-04-25 18:20:25 +0800 |
---|---|---|
committer | Xavi Hernandez <xhernandez@redhat.com> | 2019-05-06 10:56:13 +0000 |
commit | 0d85c6abf5002ff88f17a5292cdde45847154d25 (patch) | |
tree | 7bf52a8697b67c76fc95d3fb661f07685bf93e27 /xlators/cluster/ec | |
parent | e18e98659dd2b41eb59cf593fd625f1821a20abf (diff) |
cluster/ec: fix shd healer wait timeout
Right now, the timeout is written by hard code,
fix it by using heal-timeout.
fixes: bz#1703020
Change-Id: I0d154e7807f9dba7efc3896805559bbfaa7af2ad
Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Diffstat (limited to 'xlators/cluster/ec')
-rw-r--r-- | xlators/cluster/ec/src/ec-heald.c | 2 | ||||
-rw-r--r-- | xlators/cluster/ec/src/ec.c | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/xlators/cluster/ec/src/ec-heald.c b/xlators/cluster/ec/src/ec-heald.c index cba111a3e8f..67c8072a01e 100644 --- a/xlators/cluster/ec/src/ec-heald.c +++ b/xlators/cluster/ec/src/ec-heald.c @@ -63,7 +63,7 @@ __ec_shd_healer_wait(struct subvol_healer *healer) ec = healer->this->private; disabled_loop: - wait_till.tv_sec = time(NULL) + 60; + wait_till.tv_sec = time(NULL) + ec->shd.timeout; while (!healer->rerun) { ret = pthread_cond_timedwait(&healer->cond, &healer->mutex, &wait_till); diff --git a/xlators/cluster/ec/src/ec.c b/xlators/cluster/ec/src/ec.c index 3c8013e8297..9e37f5e40f6 100644 --- a/xlators/cluster/ec/src/ec.c +++ b/xlators/cluster/ec/src/ec.c @@ -714,6 +714,7 @@ init(xlator_t *this) if (ec_assign_read_policy(ec, read_policy)) goto failed; + GF_OPTION_INIT("heal-timeout", ec->shd.timeout, int32, failed); GF_OPTION_INIT("shd-max-threads", ec->shd.max_threads, uint32, failed); GF_OPTION_INIT("shd-wait-qlength", ec->shd.wait_qlength, uint32, failed); GF_OPTION_INIT("optimistic-change-log", ec->optimistic_changelog, bool, |