summaryrefslogtreecommitdiffstats
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/src/cli-cmd-parser.c10
-rw-r--r--cli/src/cli-rpc-ops.c54
-rw-r--r--cli/src/cli-xml-output.c24
-rw-r--r--cli/src/cli.c6
4 files changed, 36 insertions, 58 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c
index 931d89ae1bd..8c16588ae9c 100644
--- a/cli/src/cli-cmd-parser.c
+++ b/cli/src/cli-cmd-parser.c
@@ -1581,12 +1581,10 @@ cli_cmd_gsync_set_parse (const char **words, int wordcount, dict_t **options)
if (strcmp (words[cmdi + 1], "checkpoint") == 0 &&
strcmp (append_str, "now") == 0) {
struct timeval tv = {0,};
- struct tm *tm = NULL;
ret = gettimeofday (&tv, NULL);
if (ret == -1)
- goto out;
- tm = localtime (&tv.tv_sec);
+ goto out; /* FIXME: free append_str? */
GF_FREE (append_str);
append_str = GF_CALLOC (1, 300, cli_mt_append_str);
@@ -1595,9 +1593,9 @@ cli_cmd_gsync_set_parse (const char **words, int wordcount, dict_t **options)
goto out;
}
strcpy (append_str, "as of ");
- strftime (append_str + strlen ("as of "),
- 300 - strlen ("as of "),
- "%Y-%m-%d %H:%M:%S", tm);
+ gf_time_fmt (append_str + strlen ("as of "),
+ 300 - strlen ("as of "),
+ tv.tv_sec, gf_timefmt_FT);
}
ret = dict_set_dynstr (dict, "op_value", append_str);
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c
index 0b64758fa05..492be4388e7 100644
--- a/cli/src/cli-rpc-ops.c
+++ b/cli/src/cli-rpc-ops.c
@@ -4069,15 +4069,15 @@ gf_cli3_1_top_volume_cbk (struct rpc_req *req, struct iovec *iov,
{
gf_cli_rsp rsp = {0,};
int ret = -1;
- dict_t *dict = NULL;
+ dict_t *dict = NULL;
gf1_cli_stats_op op = GF_CLI_STATS_NONE;
char key[256] = {0};
int i = 0;
int32_t brick_count = 0;
char brick[1024];
int32_t members = 0;
- char *filename;
- char *bricks;
+ char *filename;
+ char *bricks;
uint64_t value = 0;
int32_t j = 0;
gf1_cli_top_op top_op = GF_CLI_TOP_NONE;
@@ -4085,11 +4085,10 @@ gf_cli3_1_top_volume_cbk (struct rpc_req *req, struct iovec *iov,
uint64_t max_nr_open = 0;
double throughput = 0;
double time = 0;
- long int time_sec = 0;
+ int32_t time_sec = 0;
long int time_usec = 0;
- struct tm *tm = NULL;
char timestr[256] = {0, };
- char *openfd_str = NULL;
+ char *openfd_str = NULL;
gf_boolean_t nfs = _gf_false;
gf_boolean_t clear_stats = _gf_false;
int stats_cleared = 0;
@@ -4262,11 +4261,9 @@ gf_cli3_1_top_volume_cbk (struct rpc_req *req, struct iovec *iov,
ret = dict_get_int32 (dict, key, (int32_t *)&time_usec);
if (ret)
goto out;
- tm = localtime (&time_sec);
- if (!tm)
- goto out;
- strftime (timestr, 256, "%Y-%m-%d %H:%M:%S", tm);
- snprintf (timestr + strlen (timestr), 256 - strlen (timestr),
+ gf_time_fmt (timestr, sizeof timestr,
+ time_sec, gf_timefmt_FT);
+ snprintf (timestr + strlen (timestr), sizeof timestr - strlen (timestr),
".%"GF_PRI_SUSECONDS, time_usec);
if (strlen (filename) < VOL_TOP_PERF_FILENAME_DEF_WIDTH)
cli_out ("%*"PRIu64" %-*s %-*s",
@@ -5854,52 +5851,43 @@ cmd_heal_volume_brick_out (dict_t *dict, int brick)
uint64_t num_entries = 0;
int ret = 0;
char key[256] = {0};
- char *hostname = NULL;
- char *path = NULL;
- char *status = NULL;
+ char *hostname = NULL;
+ char *path = NULL;
+ char *status = NULL;
uint64_t i = 0;
uint32_t time = 0;
- char timestr[256] = {0};
- struct tm tm = {0};
- time_t ltime = 0;
+ char timestr[32] = {0};
- snprintf (key, sizeof (key), "%d-hostname", brick);
+ snprintf (key, sizeof key, "%d-hostname", brick);
ret = dict_get_str (dict, key, &hostname);
if (ret)
goto out;
- snprintf (key, sizeof (key), "%d-path", brick);
+ snprintf (key, sizeof key, "%d-path", brick);
ret = dict_get_str (dict, key, &path);
if (ret)
goto out;
cli_out ("\nBrick %s:%s", hostname, path);
- snprintf (key, sizeof (key), "%d-count", brick);
+ snprintf (key, sizeof key, "%d-count", brick);
ret = dict_get_uint64 (dict, key, &num_entries);
cli_out ("Number of entries: %"PRIu64, num_entries);
- snprintf (key, sizeof (key), "%d-status", brick);
+ snprintf (key, sizeof key, "%d-status", brick);
ret = dict_get_str (dict, key, &status);
if (status && strlen (status))
cli_out ("Status: %s", status);
for (i = 0; i < num_entries; i++) {
- snprintf (key, sizeof (key), "%d-%"PRIu64, brick, i);
+ snprintf (key, sizeof key, "%d-%"PRIu64, brick, i);
ret = dict_get_str (dict, key, &path);
if (ret)
continue;
time = 0;
- snprintf (key, sizeof (key), "%d-%"PRIu64"-time", brick, i);
+ snprintf (key, sizeof key, "%d-%"PRIu64"-time", brick, i);
ret = dict_get_uint32 (dict, key, &time);
if (!time) {
cli_out ("%s", path);
} else {
- ltime = time;
- memset (&tm, 0, sizeof (tm));
- if (!localtime_r (&ltime, &tm)) {
- snprintf (timestr, sizeof (timestr),
- "Invalid time");
- } else {
- strftime (timestr, sizeof (timestr),
- "%Y-%m-%d %H:%M:%S", &tm);
- }
- if (i ==0) {
+ gf_time_fmt (timestr, sizeof timestr,
+ time, gf_timefmt_FT);
+ if (i == 0) {
cli_out ("at path on brick");
cli_out ("-----------------------------------");
}
diff --git a/cli/src/cli-xml-output.c b/cli/src/cli-xml-output.c
index 702a7f7feb1..510ad01033e 100644
--- a/cli/src/cli-xml-output.c
+++ b/cli/src/cli-xml-output.c
@@ -1429,14 +1429,13 @@ int
cli_xml_output_vol_top_rw_perf (xmlTextWriterPtr writer, dict_t *dict,
int brick_index, int member_index)
{
- int ret = -1;
- char *filename = NULL;
- uint64_t throughput = 0;
- long int time_sec = 0;
- long int time_usec = 0;
- struct tm *tm = NULL;
- char timestr[256] = {0,};
- char key[1024] = {0,};
+ int ret = -1;
+ char *filename = NULL;
+ uint64_t throughput = 0;
+ long int time_sec = 0;
+ long int time_usec = 0;
+ char timestr[256] = {0,};
+ char key[1024] = {0,};
/* <file> */
ret = xmlTextWriterStartElement (writer, (xmlChar *)"file");
@@ -1474,14 +1473,9 @@ cli_xml_output_vol_top_rw_perf (xmlTextWriterPtr writer, dict_t *dict,
if (ret)
goto out;
- tm = localtime (&time_sec);
- if (!tm) {
- ret = -1;
- goto out;
- }
- strftime (timestr, sizeof (timestr), "%Y-%m-%d %H:%M:%S", tm);
+ gf_time_fmt (timestr, sizeof timestr, time_sec, gf_timefmt_FT);
snprintf (timestr + strlen (timestr),
- sizeof (timestr) - strlen (timestr),
+ sizeof timestr - strlen (timestr),
".%"GF_PRI_SUSECONDS, time_usec);
ret = xmlTextWriterWriteFormatElement (writer, (xmlChar *)"time",
"%s", timestr);
diff --git a/cli/src/cli.c b/cli/src/cli.c
index 0d66ff282a2..16e434f0f8b 100644
--- a/cli/src/cli.c
+++ b/cli/src/cli.c
@@ -108,7 +108,6 @@ generate_uuid ()
char tmp_str[1024] = {0,};
char hostname[256] = {0,};
struct timeval tv = {0,};
- struct tm now = {0, };
char now_str[32];
if (gettimeofday (&tv, NULL) == -1) {
@@ -123,9 +122,8 @@ generate_uuid ()
strerror (errno));
}
- localtime_r (&tv.tv_sec, &now);
- strftime (now_str, 32, "%Y/%m/%d-%H:%M:%S", &now);
- snprintf (tmp_str, 1024, "%s-%d-%s:%"
+ gf_time_fmt (now_str, sizeof now_str, tv.tv_sec, gf_timefmt_Ymd_T);
+ snprintf (tmp_str, sizeof tmp_str, "%s-%d-%s:%"
#ifdef GF_DARWIN_HOST_OS
PRId32,
#else