diff options
Diffstat (limited to 'xlators/debug/trace/src/trace.c')
| -rw-r--r-- | xlators/debug/trace/src/trace.c | 46 |
1 files changed, 29 insertions, 17 deletions
diff --git a/xlators/debug/trace/src/trace.c b/xlators/debug/trace/src/trace.c index 86fa9d4611d..6ed0ca00342 100644 --- a/xlators/debug/trace/src/trace.c +++ b/xlators/debug/trace/src/trace.c @@ -22,13 +22,13 @@ static void trace_stat_to_str(struct iatt *buf, char *str, size_t len) { - char atime_buf[200] = { + char atime_buf[GF_TIMESTR_SIZE] = { 0, }; - char mtime_buf[200] = { + char mtime_buf[GF_TIMESTR_SIZE] = { 0, }; - char ctime_buf[200] = { + char ctime_buf[GF_TIMESTR_SIZE] = { 0, }; @@ -64,7 +64,7 @@ trace_stat_to_str(struct iatt *buf, char *str, size_t len) int dump_history_trace(circular_buffer_t *cb, void *data) { - char timestr[256] = { + char timestr[GF_TIMESTR_SIZE] = { 0, }; @@ -72,12 +72,10 @@ dump_history_trace(circular_buffer_t *cb, void *data) gettimeofday () fails, it's safe to check tm and then dump the time at which the entry was added to the buffer */ - gf_time_fmt(timestr, sizeof timestr, cb->tv.tv_sec, gf_timefmt_Ymd_T); - snprintf(timestr + strlen(timestr), 256 - strlen(timestr), - ".%" GF_PRI_SUSECONDS, cb->tv.tv_usec); + gf_time_fmt_tv(timestr, sizeof timestr, &cb->tv, gf_timefmt_Ymd_T); gf_proc_dump_write("TIME", "%s", timestr); - gf_proc_dump_write("FOP", "%s\n", cb->data); + gf_proc_dump_write("FOP", "%s\n", (char *)cb->data); return 0; } @@ -2209,10 +2207,10 @@ int trace_setattr(call_frame_t *frame, xlator_t *this, loc_t *loc, struct iatt *stbuf, int32_t valid, dict_t *xdata) { - char actime_str[256] = { + char actime_str[GF_TIMESTR_SIZE] = { 0, }; - char modtime_str[256] = { + char modtime_str[GF_TIMESTR_SIZE] = { 0, }; trace_conf_t *conf = NULL; @@ -2278,10 +2276,10 @@ int trace_fsetattr(call_frame_t *frame, xlator_t *this, fd_t *fd, struct iatt *stbuf, int32_t valid, dict_t *xdata) { - char actime_str[256] = { + char actime_str[GF_TIMESTR_SIZE] = { 0, }; - char modtime_str[256] = { + char modtime_str[GF_TIMESTR_SIZE] = { 0, }; trace_conf_t *conf = NULL; @@ -3218,7 +3216,7 @@ trace_dump_history(xlator_t *this) // Is it ok to return silently if log-history option his off? if (conf && conf->log_history == _gf_true) { gf_proc_dump_build_key(key_prefix, "xlator.debug.trace", "history"); - gf_proc_dump_add_section(key_prefix); + gf_proc_dump_add_section("%s", key_prefix); eh_dump(this->history, NULL, dump_history_trace); } ret = 0; @@ -3311,7 +3309,7 @@ init(xlator_t *this) char *forced_loglevel = NULL; eh_t *history = NULL; int ret = -1; - size_t history_size = TRACE_DEFAULT_HISTORY_SIZE; + uint64_t history_size = TRACE_DEFAULT_HISTORY_SIZE; trace_conf_t *conf = NULL; if (!this) @@ -3364,10 +3362,10 @@ init(xlator_t *this) if (excludes) process_call_list(excludes, 0); - GF_OPTION_INIT("history-size", conf->history_size, size, out); + GF_OPTION_INIT("history-size", history_size, size, out); + conf->history_size = history_size; - gf_log(this->name, GF_LOG_INFO, "history size %" GF_PRI_SIZET, - history_size); + gf_log(this->name, GF_LOG_INFO, "history size %" PRIu64, history_size); GF_OPTION_INIT("log-file", conf->log_file, bool, out); @@ -3520,3 +3518,17 @@ struct volume_options options[] = { }; struct xlator_dumpops dumpops = {.history = trace_dump_history}; + +xlator_api_t xlator_api = { + .init = init, + .fini = fini, + .reconfigure = reconfigure, + .mem_acct_init = mem_acct_init, + .op_version = {1}, + .dumpops = &dumpops, + .fops = &fops, + .cbks = &cbks, + .options = options, + .identifier = "trace", + .category = GF_TECH_PREVIEW, +}; |
