diff options
Diffstat (limited to 'xlators/mgmt/glusterd/src')
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 7 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-rebalance.c | 1 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-rpc-ops.c | 14 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 8 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volgen.c | 1 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd.h | 1 | 
6 files changed, 32 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index 07f35642b14..a507c76d71c 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -3341,6 +3341,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, "run-time-%d", i); +        ret = dict_set_double (op_ctx, key, volinfo->rebalance_time); +        if (ret) +                gf_log (THIS->name, GF_LOG_ERROR, +                        "failed to set run-time"); +  out:          return ret;  } diff --git a/xlators/mgmt/glusterd/src/glusterd-rebalance.c b/xlators/mgmt/glusterd/src/glusterd-rebalance.c index 8312610f5be..20142a1cc4b 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rebalance.c +++ b/xlators/mgmt/glusterd/src/glusterd-rebalance.c @@ -257,6 +257,7 @@ glusterd_handle_defrag_start (glusterd_volinfo_t *volinfo, char *op_errstr,          volinfo->rebalance_data = 0;          volinfo->lookedup_files = 0;          volinfo->rebalance_failures = 0; +        volinfo->rebalance_time = 0;          volinfo->defrag_cmd = cmd;          glusterd_store_perform_node_state_store (volinfo); diff --git a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c index 2f9b99b976a..6d89e4c03d9 100644 --- a/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-rpc-ops.c @@ -1118,6 +1118,7 @@ glusterd_volume_rebalance_use_rsp_dict (dict_t *rsp_dict)          int32_t        i        = 0;          char          *node_uuid = NULL;          char          *node_uuid_str = NULL; +        double         elapsed_time = 0;          GF_ASSERT (rsp_dict); @@ -1229,6 +1230,19 @@ glusterd_volume_rebalance_use_rsp_dict (dict_t *rsp_dict)                  }          } +        memset (key, 0, 256); +        snprintf (key, 256, "run-time-%d", index); +        ret = dict_get_double (rsp_dict, key, &elapsed_time); +        if (!ret) { +                memset (key, 0, 256); +                snprintf (key, 256, "run-time-%d", i); +                ret = dict_set_double (ctx_dict, key, elapsed_time); +                if (ret) { +                        gf_log (THIS->name, GF_LOG_DEBUG, +                                "failed to set run-time"); +                } +        } +          ret = 0;  out: diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 9971c4d859b..cd11d0a4595 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -5483,6 +5483,7 @@ glusterd_defrag_volume_status_update (glusterd_volinfo_t *volinfo,          gf_defrag_status_t              status = GF_DEFRAG_STATUS_NOT_STARTED;          uint64_t                        failures = 0;          xlator_t                       *this = NULL; +        double                          run_time = 0;          this = THIS; @@ -5511,6 +5512,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_double (rsp_dict, "run-time", &run_time); +        if (ret) +                gf_log (this->name, GF_LOG_TRACE, +                        "failed to get run-time"); +          if (files)                  volinfo->rebalance_files = files;          if (size) @@ -5521,6 +5527,8 @@ glusterd_defrag_volume_status_update (glusterd_volinfo_t *volinfo,                  volinfo->defrag_status = status;          if (failures)                  volinfo->rebalance_failures = failures; +        if (run_time) +                volinfo->rebalance_time = run_time;          return ret;  } diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index c8ff573b10b..0d82f1624b5 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -117,6 +117,7 @@ static struct volopt_map_entry glusterd_volopt_map[] = {          {"cluster.lookup-unhashed",              "cluster/distribute", NULL, NULL, NO_DOC, 0    },          {"cluster.min-free-disk",                "cluster/distribute", NULL, NULL, NO_DOC, 0    },          {"cluster.min-free-inodes",              "cluster/distribute", NULL, NULL, NO_DOC, 0    }, +        {"cluster.rebalance-stats",              "cluster/distribute", NULL, NULL, NO_DOC, 0    },          {"cluster.entry-change-log",             "cluster/replicate",  NULL, NULL, NO_DOC, 0     },          {"cluster.read-subvolume",               "cluster/replicate",  NULL, NULL, NO_DOC, 0    }, diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h index 11259a498ef..1ba922a80c7 100644 --- a/xlators/mgmt/glusterd/src/glusterd.h +++ b/xlators/mgmt/glusterd/src/glusterd.h @@ -229,6 +229,7 @@ struct glusterd_volinfo_ {          glusterd_defrag_info_t  *defrag;          gf_cli_defrag_type      defrag_cmd;          uint64_t                rebalance_failures; +        double                  rebalance_time;          /* Replace brick status */          gf_rb_status_t          rb_status;  | 
