diff options
author | Amar Tumballi <amarts@redhat.com> | 2017-08-31 15:23:56 +0530 |
---|---|---|
committer | Jeff Darcy <jeff@pl.atyp.us> | 2017-12-20 15:43:02 +0000 |
commit | 7d81a49a0479b4b98a639b5e50ec2ea4fa8a1314 (patch) | |
tree | 134cf8eca7a0dc197ae1f83421e54414a37bd52c /xlators/features/quiesce/src | |
parent | 4fdcf4cccd467c9678bd23a613f43e1f1ac24c07 (diff) |
stripe, quiesce: volume option fixes
Updates: #302
Change-Id: I8f84260ba007f2afc7fe3b7c15c06069942ad6d1
Signed-off-by: Amar Tumballi <amarts@redhat.com>
Diffstat (limited to 'xlators/features/quiesce/src')
-rw-r--r-- | xlators/features/quiesce/src/quiesce.c | 13 | ||||
-rw-r--r-- | xlators/features/quiesce/src/quiesce.h | 1 |
2 files changed, 12 insertions, 2 deletions
diff --git a/xlators/features/quiesce/src/quiesce.c b/xlators/features/quiesce/src/quiesce.c index f8217810756..c78cabb31f3 100644 --- a/xlators/features/quiesce/src/quiesce.c +++ b/xlators/features/quiesce/src/quiesce.c @@ -123,7 +123,7 @@ gf_quiesce_enqueue (xlator_t *this, call_stub_t *stub) UNLOCK (&priv->lock); if (!priv->timer) { - timeout.tv_sec = 20; + timeout.tv_sec = priv->timeout; timeout.tv_nsec = 0; priv->timer = gf_timer_call_after (this->ctx, @@ -2451,6 +2451,8 @@ init (xlator_t *this) if (!priv) goto out; + GF_OPTION_INIT ("timeout", priv->timeout, time, out); + priv->local_pool = mem_pool_new (quiesce_local_t, GF_FOPS_EXPECTED_IN_PARALLEL); @@ -2520,7 +2522,7 @@ notify (xlator_t *this, int event, void *data, ...) if (priv->timer) break; - timeout.tv_sec = 20; + timeout.tv_sec = priv->timeout; timeout.tv_nsec = 0; priv->timer = gf_timer_call_after (this->ctx, @@ -2602,5 +2604,12 @@ struct xlator_cbks cbks; struct volume_options options[] = { + { .key = {"timeout"}, + .type = GF_OPTION_TYPE_TIME, + .default_value = "20s", + .description = "timeout for ignoring all the quiesced calls", + .tags = {"debug", "dev-only"}, + .op_version = { GD_OP_VERSION_4_0_0 }, + }, { .key = {NULL} }, }; diff --git a/xlators/features/quiesce/src/quiesce.h b/xlators/features/quiesce/src/quiesce.h index 878ed77e928..a5fb43ccdc8 100644 --- a/xlators/features/quiesce/src/quiesce.h +++ b/xlators/features/quiesce/src/quiesce.h @@ -25,6 +25,7 @@ typedef struct { int queue_size; pthread_t thr; struct mem_pool *local_pool; + uint32_t timeout; } quiesce_priv_t; typedef struct { |