diff options
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 28 | 
1 files changed, 28 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index ad5765d7b77..de17c3dbf1f 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -6170,6 +6170,7 @@ glusterd_volinfo_reset_defrag_stats (glusterd_volinfo_t *volinfo)          rebal->lookedup_files = 0;          rebal->rebalance_failures = 0;          rebal->rebalance_time = 0; +        rebal->skipped_files = 0;  } @@ -6266,6 +6267,7 @@ glusterd_defrag_volume_status_update (glusterd_volinfo_t *volinfo,          uint64_t                        lookup = 0;          gf_defrag_status_t              status = GF_DEFRAG_STATUS_NOT_STARTED;          uint64_t                        failures = 0; +        uint64_t                        skipped = 0;          xlator_t                       *this = NULL;          double                          run_time = 0; @@ -6296,6 +6298,11 @@ glusterd_defrag_volume_status_update (glusterd_volinfo_t *volinfo,                  gf_log (this->name, GF_LOG_TRACE,                          "failed to get failure count"); +        ret = dict_get_uint64 (rsp_dict, "skipped", &skipped); +        if (ret) +                gf_log (this->name, GF_LOG_TRACE, +                        "failed to get skipped count"); +          ret = dict_get_double (rsp_dict, "run-time", &run_time);          if (ret)                  gf_log (this->name, GF_LOG_TRACE, @@ -6311,6 +6318,8 @@ glusterd_defrag_volume_status_update (glusterd_volinfo_t *volinfo,                  volinfo->rebal.defrag_status = status;          if (failures)                  volinfo->rebal.rebalance_failures = failures; +        if (skipped) +                volinfo->rebal.skipped_files = skipped;          if (run_time)                  volinfo->rebal.rebalance_time = run_time; @@ -7040,6 +7049,18 @@ glusterd_volume_rebalance_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict)          }          memset (key, 0, 256); +        snprintf (key, 256, "skipped-%d", index); +        ret = dict_get_uint64 (rsp_dict, key, &value); +        if (!ret) { +                memset (key, 0, 256); +                snprintf (key, 256, "skipped-%d", current_index); +                ret = dict_set_uint64 (ctx_dict, key, value); +                if (ret) { +                        gf_log (THIS->name, GF_LOG_DEBUG, +                                "failed to set skipped count"); +                } +        } +        memset (key, 0, 256);          snprintf (key, 256, "run-time-%d", index);          ret = dict_get_double (rsp_dict, key, &elapsed_time);          if (!ret) { @@ -7403,6 +7424,13 @@ glusterd_defrag_volume_node_rsp (dict_t *req_dict, dict_t *rsp_dict,                  gf_log (THIS->name, GF_LOG_ERROR,                          "failed to set failure count"); +        memset (key, 0 , 256); +        snprintf (key, 256, "skipped-%d", i); +        ret = dict_set_uint64 (op_ctx, key, volinfo->rebal.skipped_files); +        if (ret) +                gf_log (THIS->name, GF_LOG_ERROR, +                        "failed to set skipped count"); +          memset (key, 0, 256);          snprintf (key, 256, "run-time-%d", i);          ret = dict_set_double (op_ctx, key, volinfo->rebal.rebalance_time);  | 
