From 06b7ca1dcd7f3c3187e83a17fad7224d661b4d7e Mon Sep 17 00:00:00 2001 From: Joseph Fernandes Date: Sat, 28 Nov 2015 17:03:41 +0530 Subject: tier/glusterd : Validation for frequency thresholds and record-counters 1) if record-counters is set to off check if both the frequency thresholds are non-zero, then pop an error message, with volume set failed. 2) if record-counters is set to on check if both the frequency thresholds are zero, then pop an note, but volume set is not failed. 3) If any of the frequency thresholds are set to a non-zero value, switch record-counters on, if not already on 4) If both the frequency thresholds are set to zero, switch record-counters off, if not already off NOTE: In this fix we have 1) removed unnecessary ctr vol set options. 2) changed ctr_hardlink_heal_expire_period to ctr_lookupheal_link_timeout Backport of http://review.gluster.org/12780 > Change-Id: Ie7ccfd3f6e021056905a79de5a3d8f199312f315 > BUG: 1286346 > Signed-off-by: Joseph Fernandes > Signed-off-by: Dan Lambright > Reviewed-on: http://review.gluster.org/12780 > Tested-by: Gluster Build System > Tested-by: NetBSD Build System > Signed-off-by: Joseph Fernandes Change-Id: I35621ed3cc1ad20a75ef16e0b95453b8c6120852 BUG: 1287560 Signed-off-by: Joseph Fernandes Reviewed-on: http://review.gluster.org/12849 Tested-by: NetBSD Build System Tested-by: Gluster Build System Reviewed-by: Dan Lambright Tested-by: Dan Lambright --- .../features/changetimerecorder/src/changetimerecorder.c | 16 ++++++++-------- xlators/features/changetimerecorder/src/ctr-helper.c | 12 ++++++------ xlators/features/changetimerecorder/src/ctr-helper.h | 8 ++++---- 3 files changed, 18 insertions(+), 18 deletions(-) (limited to 'xlators/features/changetimerecorder') diff --git a/xlators/features/changetimerecorder/src/changetimerecorder.c b/xlators/features/changetimerecorder/src/changetimerecorder.c index eba18a64ea4..a230b2fc4ba 100644 --- a/xlators/features/changetimerecorder/src/changetimerecorder.c +++ b/xlators/features/changetimerecorder/src/changetimerecorder.c @@ -1981,12 +1981,12 @@ reconfigure (xlator_t *this, dict_t *options) GF_OPTION_RECONF ("ctr_link_consistency", priv->ctr_link_consistency, options, bool, out); - GF_OPTION_RECONF ("ctr_inode_heal_expire_period", - priv->ctr_inode_heal_expire_period, + GF_OPTION_RECONF ("ctr_lookupheal_inode_timeout", + priv->ctr_lookupheal_inode_timeout, options, uint64, out); - GF_OPTION_RECONF ("ctr_hardlink_heal_expire_period", - priv->ctr_hardlink_heal_expire_period, + GF_OPTION_RECONF ("ctr_lookupheal_link_timeout", + priv->ctr_lookupheal_link_timeout, options, uint64, out); GF_OPTION_RECONF ("record-exit", priv->ctr_record_unwind, options, @@ -2040,9 +2040,9 @@ init (xlator_t *this) priv->gfdb_sync_type = GFDB_DB_SYNC; priv->enabled = _gf_true; priv->_db_conn = NULL; - priv->ctr_hardlink_heal_expire_period = + priv->ctr_lookupheal_link_timeout = CTR_DEFAULT_HARDLINK_EXP_PERIOD; - priv->ctr_inode_heal_expire_period = + priv->ctr_lookupheal_inode_timeout = CTR_DEFAULT_INODE_EXP_PERIOD; /*Extract ctr xlator options*/ @@ -2218,11 +2218,11 @@ struct volume_options options[] = { .value = {"on", "off"}, .default_value = "off" }, - { .key = {"ctr_hardlink_heal_expire_period"}, + { .key = {"ctr_lookupheal_link_timeout"}, .type = GF_OPTION_TYPE_INT, .default_value = "300" }, - { .key = {"ctr_inode_heal_expire_period"}, + { .key = {"ctr_lookupheal_inode_timeout"}, .type = GF_OPTION_TYPE_INT, .default_value = "300" }, diff --git a/xlators/features/changetimerecorder/src/ctr-helper.c b/xlators/features/changetimerecorder/src/ctr-helper.c index ba48a70f583..44abf7d5142 100644 --- a/xlators/features/changetimerecorder/src/ctr-helper.c +++ b/xlators/features/changetimerecorder/src/ctr-helper.c @@ -288,14 +288,14 @@ int extract_ctr_options (xlator_t *this, gf_ctr_private_t *_priv) { GF_OPTION_INIT ("ctr_link_consistency", _priv->ctr_link_consistency, bool, out); - /*Extract ctr_inode_heal_expire_period */ - GF_OPTION_INIT ("ctr_inode_heal_expire_period", - _priv->ctr_inode_heal_expire_period, + /*Extract ctr_lookupheal_inode_timeout */ + GF_OPTION_INIT ("ctr_lookupheal_inode_timeout", + _priv->ctr_lookupheal_inode_timeout, uint64, out); - /*Extract ctr_hardlink_heal_expire_period*/ - GF_OPTION_INIT ("ctr_hardlink_heal_expire_period", - _priv->ctr_hardlink_heal_expire_period, + /*Extract ctr_lookupheal_link_timeout*/ + GF_OPTION_INIT ("ctr_lookupheal_link_timeout", + _priv->ctr_lookupheal_link_timeout, uint64, out); /*Extract flag for hot tier brick*/ diff --git a/xlators/features/changetimerecorder/src/ctr-helper.h b/xlators/features/changetimerecorder/src/ctr-helper.h index 93bad94ff79..246468287f4 100644 --- a/xlators/features/changetimerecorder/src/ctr-helper.h +++ b/xlators/features/changetimerecorder/src/ctr-helper.h @@ -55,8 +55,8 @@ typedef struct gf_ctr_private { gfdb_db_type_t gfdb_db_type; gfdb_sync_type_t gfdb_sync_type; gfdb_conn_node_t *_db_conn; - uint64_t ctr_hardlink_heal_expire_period; - uint64_t ctr_inode_heal_expire_period; + uint64_t ctr_lookupheal_link_timeout; + uint64_t ctr_lookupheal_inode_timeout; } gf_ctr_private_t; @@ -690,7 +690,7 @@ __is_inode_expired (ctr_xlator_ctx_t *ctr_xlator_ctx, time_diff = current_time->tv_sec - ctr_xlator_ctx->inode_heal_period; - ret = (time_diff >= _priv->ctr_inode_heal_expire_period) ? + ret = (time_diff >= _priv->ctr_lookupheal_inode_timeout) ? _gf_true : _gf_false; return ret; } @@ -710,7 +710,7 @@ __is_hardlink_expired (ctr_hard_link_t *ctr_hard_link, time_diff = current_time->tv_sec - ctr_hard_link->hardlink_heal_period; - ret = ret || (time_diff >= _priv->ctr_hardlink_heal_expire_period) ? + ret = ret || (time_diff >= _priv->ctr_lookupheal_link_timeout) ? _gf_true : _gf_false; return ret; -- cgit