diff options
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-brick-ops.c | 2 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-rebalance.c | 7 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 14 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.h | 2 | 
4 files changed, 19 insertions, 6 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c index 120fd5027..55554fe6e 100644 --- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c @@ -1010,6 +1010,8 @@ glusterd_op_perform_remove_brick (glusterd_volinfo_t  *volinfo, char *brick,          if (ret)                  goto out; +        glusterd_volinfo_reset_defrag_stats (volinfo); +          if (!uuid_compare (brickinfo->uuid, priv->uuid)) {                  /* Only if the brick is in this glusterd, do the rebalance */                  if (need_migrate) diff --git a/xlators/mgmt/glusterd/src/glusterd-rebalance.c b/xlators/mgmt/glusterd/src/glusterd-rebalance.c index 20142a1cc..e4384c8e9 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rebalance.c +++ b/xlators/mgmt/glusterd/src/glusterd-rebalance.c @@ -253,12 +253,7 @@ glusterd_handle_defrag_start (glusterd_volinfo_t *volinfo, char *op_errstr,          volinfo->defrag_status = GF_DEFRAG_STATUS_STARTED; -        volinfo->rebalance_files = 0; -        volinfo->rebalance_data = 0; -        volinfo->lookedup_files = 0; -        volinfo->rebalance_failures = 0; -        volinfo->rebalance_time = 0; - +        glusterd_volinfo_reset_defrag_stats (volinfo);          volinfo->defrag_cmd = cmd;          glusterd_store_perform_node_state_store (volinfo); diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index cd11d0a45..2ee55b7c1 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -5397,6 +5397,20 @@ glusterd_restart_rebalance (glusterd_conf_t *conf)          return ret;  } + +void +glusterd_volinfo_reset_defrag_stats (glusterd_volinfo_t *volinfo) +{ +        GF_ASSERT (volinfo); + +        volinfo->rebalance_files = 0; +        volinfo->rebalance_data = 0; +        volinfo->lookedup_files = 0; +        volinfo->rebalance_failures = 0; +        volinfo->rebalance_time = 0; + +} +  /* Return hostname for given uuid if it exists   * else return NULL   */ diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.h b/xlators/mgmt/glusterd/src/glusterd-utils.h index c1b2ee9ae..0297d9a22 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.h +++ b/xlators/mgmt/glusterd/src/glusterd-utils.h @@ -442,4 +442,6 @@ glusterd_defrag_volume_status_update (glusterd_volinfo_t *volinfo,  int  glusterd_check_files_identical (char *filename1, char *filename2,                                  gf_boolean_t *identical); +void +glusterd_volinfo_reset_defrag_stats (glusterd_volinfo_t *volinfo);  #endif  | 
