diff options
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/debug/io-stats/src/io-stats.c | 29 | ||||
-rw-r--r-- | xlators/debug/trace/src/trace.c | 58 | ||||
-rw-r--r-- | xlators/features/locks/src/posix.c | 31 | ||||
-rw-r--r-- | xlators/features/marker/utils/src/gsyncd.c | 3 | ||||
-rw-r--r-- | xlators/features/trash/src/trash.c | 36 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-mountbroker.c | 3 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-replace-brick.c | 13 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-store.c | 5 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 8 | ||||
-rw-r--r-- | xlators/performance/io-cache/src/io-cache.c | 7 | ||||
-rw-r--r-- | xlators/performance/quick-read/src/quick-read.c | 7 |
11 files changed, 85 insertions, 115 deletions
diff --git a/xlators/debug/io-stats/src/io-stats.c b/xlators/debug/io-stats/src/io-stats.c index bb6151eda35..2cf28f1ccff 100644 --- a/xlators/debug/io-stats/src/io-stats.c +++ b/xlators/debug/io-stats/src/io-stats.c @@ -568,19 +568,16 @@ ios_dump_throughput_stats (struct ios_stat_head *list_head, xlator_t *this, FILE* logfp, ios_stats_type_t type) { struct ios_stat_list *entry = NULL; - struct timeval time = {0, }; - struct tm *tm = NULL; + struct timeval time = {0, }; char timestr[256] = {0, }; LOCK (&list_head->lock); { list_for_each_entry (entry, &list_head->iosstats->list, list) { - time = entry->iosstat->thru_counters[type].time; - tm = localtime (&time.tv_sec); - if (!tm) - continue; - strftime (timestr, 256, "%Y-%m-%d %H:%M:%S", tm); - snprintf (timestr + strlen (timestr), 256 - strlen (timestr), + gf_time_fmt (timestr, sizeof timestr, + entry->iosstat->thru_counters[type].time.tv_sec, + gf_timefmt_FT); + snprintf (timestr + strlen (timestr), sizeof timestr - strlen (timestr), ".%"GF_PRI_SUSECONDS, time.tv_usec); ios_log (this, logfp, "%s \t %-10.2f \t %s", @@ -600,7 +597,6 @@ io_stats_dump_global_to_logfp (xlator_t *this, struct ios_global_stats *stats, int index = 0; struct ios_stat_head *list_head = NULL; struct ios_conf *conf = NULL; - struct tm *tm = NULL; char timestr[256] = {0, }; char str_header[128] = {0}; char str_read[128] = {0}; @@ -694,9 +690,10 @@ io_stats_dump_global_to_logfp (xlator_t *this, struct ios_global_stats *stats, if (interval == -1) { LOCK (&conf->lock); { - tm = localtime (&conf->cumulative.max_openfd_time.tv_sec); - strftime (timestr, 256, "%Y-%m-%d %H:%M:%S", tm); - snprintf (timestr + strlen (timestr), 256 - strlen (timestr), + gf_time_fmt (timestr, sizeof timestr, + conf->cumulative.max_openfd_time.tv_sec, + gf_timefmt_FT); + snprintf (timestr + strlen (timestr), sizeof timestr - strlen (timestr), ".%"GF_PRI_SUSECONDS, conf->cumulative.max_openfd_time.tv_usec); ios_log (this, logfp, "Current open fd's: %"PRId64 @@ -1080,7 +1077,6 @@ io_stats_dump_stats_to_dict (xlator_t *this, dict_t *resp, struct ios_stat_list *entry = NULL; int ret = -1; ios_stats_thru_t index = IOS_STATS_THRU_MAX; - struct tm *tm = NULL; char timestr[256] = {0, }; char *dict_timestr = NULL; @@ -1098,9 +1094,10 @@ io_stats_dump_stats_to_dict (xlator_t *this, dict_t *resp, ret = dict_set_uint64 (resp, "max-open", conf->cumulative.max_nr_opens); - tm = localtime (&conf->cumulative.max_openfd_time.tv_sec); - strftime (timestr, 256, "%Y-%m-%d %H:%M:%S", tm); - snprintf (timestr + strlen (timestr), 256 - strlen (timestr), + gf_time_fmt (timestr, sizeof timestr, + conf->cumulative.max_openfd_time.tv_sec, + gf_timefmt_FT); + snprintf (timestr + strlen (timestr), sizeof timestr - strlen (timestr), ".%"GF_PRI_SUSECONDS, conf->cumulative.max_openfd_time.tv_usec); diff --git a/xlators/debug/trace/src/trace.c b/xlators/debug/trace/src/trace.c index d9c292c0104..a1136a2e5b5 100644 --- a/xlators/debug/trace/src/trace.c +++ b/xlators/debug/trace/src/trace.c @@ -46,30 +46,20 @@ int trace_log_level = GF_LOG_INFO; static char * trace_stat_to_str (struct iatt *buf) { - char *statstr = NULL; - char atime_buf[256] = {0,}; - char mtime_buf[256] = {0,}; - char ctime_buf[256] = {0,}; - int asprint_ret_value = 0; - uint64_t ia_time = 0; + char *statstr = NULL; + char atime_buf[64] = {0,}; + char mtime_buf[64] = {0,}; + char ctime_buf[64] = {0,}; + int asprint_ret_value = 0; if (!buf) { statstr = NULL; goto out; } - ia_time = buf->ia_atime; - strftime (atime_buf, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = buf->ia_mtime; - strftime (mtime_buf, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = buf->ia_ctime; - strftime (ctime_buf, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - + gf_time_fmt (atime_buf, sizeof atime_buf, buf->ia_atime, gf_timefmt_bdT); + gf_time_fmt (mtime_buf, sizeof mtime_buf, buf->ia_mtime, gf_timefmt_bdT); + gf_time_fmt (ctime_buf, sizeof ctime_buf, buf->ia_ctime, gf_timefmt_bdT); asprint_ret_value = gf_asprintf (&statstr, "gfid=%s ino=%"PRIu64", mode=%o, " "nlink=%"GF_PRI_NLINK", uid=%u, " @@ -1665,9 +1655,8 @@ int trace_setattr (call_frame_t *frame, xlator_t *this, loc_t *loc, struct iatt *stbuf, int32_t valid, dict_t *xdata) { - uint64_t ia_time = 0; - char actime_str[256] = {0,}; - char modtime_str[256] = {0,}; + char actime_str[64] = {0,}; + char modtime_str[64] = {0,}; if (trace_fop_names[GF_FOP_SETATTR].enabled) { if (valid & GF_SET_ATTR_MODE) { @@ -1685,13 +1674,10 @@ trace_setattr (call_frame_t *frame, xlator_t *this, loc_t *loc, } if (valid & (GF_SET_ATTR_ATIME | GF_SET_ATTR_MTIME)) { - ia_time = stbuf->ia_atime; - strftime (actime_str, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = stbuf->ia_mtime; - strftime (modtime_str, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); + gf_time_fmt (actime_str, sizeof actime_str, + stbuf->ia_atime, gf_timefmt_bdT); + gf_time_fmt (modtime_str, sizeof modtime_str, + stbuf->ia_mtime, gf_timefmt_bdT); gf_log (this->name, GF_LOG_INFO, "%"PRId64": gfid=%s path=%s ia_atime=%s, ia_mtime=%s", @@ -1714,9 +1700,8 @@ int trace_fsetattr (call_frame_t *frame, xlator_t *this, fd_t *fd, struct iatt *stbuf, int32_t valid, dict_t *xdata) { - uint64_t ia_time = 0; - char actime_str[256] = {0,}; - char modtime_str[256] = {0,}; + char actime_str[64] = {0,}; + char modtime_str[64] = {0,}; if (trace_fop_names[GF_FOP_FSETATTR].enabled) { if (valid & GF_SET_ATTR_MODE) { @@ -1734,13 +1719,10 @@ trace_fsetattr (call_frame_t *frame, xlator_t *this, fd_t *fd, } if (valid & (GF_SET_ATTR_ATIME | GF_SET_ATTR_MTIME)) { - ia_time = stbuf->ia_atime; - strftime (actime_str, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); - - ia_time = stbuf->ia_mtime; - strftime (modtime_str, 256, "[%b %d %H:%M:%S]", - localtime ((time_t *)&ia_time)); + gf_time_fmt (actime_str, sizeof actime_str, + stbuf->ia_atime, gf_timefmt_bdT); + gf_time_fmt (modtime_str, sizeof modtime_str, + stbuf->ia_mtime, gf_timefmt_bdT); gf_log (this->name, GF_LOG_INFO, "%"PRId64": gfid=%s fd=%p ia_atime=%s, ia_mtime=%s", diff --git a/xlators/features/locks/src/posix.c b/xlators/features/locks/src/posix.c index 90caadb0cc8..3da40ffacac 100644 --- a/xlators/features/locks/src/posix.c +++ b/xlators/features/locks/src/posix.c @@ -1739,7 +1739,9 @@ pl_dump_lock (char *str, int size, struct gf_flock *flock, gf_lkowner_t *owner, void *trans, time_t *granted_time, time_t *blkd_time, gf_boolean_t active) { - char *type_str = NULL; + char *type_str = NULL; + char granted[32] = {0,}; + char blocked[32] = {0,}; switch (flock->l_type) { case F_RDLCK: @@ -1763,16 +1765,17 @@ pl_dump_lock (char *str, int size, struct gf_flock *flock, (unsigned long long) flock->l_start, (unsigned long long) flock->l_len, (unsigned long long) flock->l_pid, - lkowner_utoa (owner), - trans, ctime (granted_time)); + lkowner_utoa (owner), trans, + ctime_r (granted_time, granted)); } else { snprintf (str, size, RANGE_BLKD_GRNTD_FMT, type_str, flock->l_whence, (unsigned long long) flock->l_start, (unsigned long long) flock->l_len, (unsigned long long) flock->l_pid, - lkowner_utoa (owner), - trans, ctime (blkd_time), ctime (granted_time)); + lkowner_utoa (owner), trans, + ctime_r (blkd_time, blocked), + ctime_r (granted_time, granted)); } } else { @@ -1781,8 +1784,8 @@ pl_dump_lock (char *str, int size, struct gf_flock *flock, (unsigned long long) flock->l_start, (unsigned long long) flock->l_len, (unsigned long long) flock->l_pid, - lkowner_utoa (owner), - trans, ctime (blkd_time)); + lkowner_utoa (owner), trans, + ctime_r (blkd_time, blocked)); } } @@ -1792,8 +1795,10 @@ __dump_entrylks (pl_inode_t *pl_inode) { pl_dom_list_t *dom = NULL; pl_entry_lock_t *lock = NULL; - int count = 0; - char key[GF_DUMP_MAX_BUF_LEN]; + char blocked[32] = {0,}; + char granted[32] = {0,}; + int count = 0; + char key[GF_DUMP_MAX_BUF_LEN] = {0,}; char tmp[256]; @@ -1817,15 +1822,15 @@ __dump_entrylks (pl_inode_t *pl_inode) "ENTRYLK_WRLCK", lock->basename, (unsigned long long) lock->client_pid, lkowner_utoa (&lock->owner), lock->trans, - ctime (&lock->granted_time.tv_sec)); + ctime_r (&lock->granted_time.tv_sec, granted)); } else { snprintf (tmp, 256, ENTRY_BLKD_GRNTD_FMT, lock->type == ENTRYLK_RDLCK ? "ENTRYLK_RDLCK" : "ENTRYLK_WRLCK", lock->basename, (unsigned long long) lock->client_pid, lkowner_utoa (&lock->owner), lock->trans, - ctime (&lock->blkd_time.tv_sec), - ctime (&lock->granted_time.tv_sec)); + ctime_r (&lock->blkd_time.tv_sec, blocked), + ctime_r (&lock->granted_time.tv_sec, granted)); } gf_proc_dump_write(key, tmp); @@ -1843,7 +1848,7 @@ __dump_entrylks (pl_inode_t *pl_inode) "ENTRYLK_WRLCK", lock->basename, (unsigned long long) lock->client_pid, lkowner_utoa (&lock->owner), lock->trans, - ctime (&lock->blkd_time.tv_sec)); + ctime_r (&lock->blkd_time.tv_sec, blocked)); gf_proc_dump_write(key, tmp); diff --git a/xlators/features/marker/utils/src/gsyncd.c b/xlators/features/marker/utils/src/gsyncd.c index 9c598ce668e..7da2c983cff 100644 --- a/xlators/features/marker/utils/src/gsyncd.c +++ b/xlators/features/marker/utils/src/gsyncd.c @@ -61,6 +61,7 @@ static int str2argv (char *str, char ***argv) { char *p = NULL; + char *savetok = NULL; int argc = 0; size_t argv_len = 32; int ret = 0; @@ -74,7 +75,7 @@ str2argv (char *str, char ***argv) if (!*argv) goto error; - while ((p = strtok (str, " "))) { + while ((p = strtok_r (str, " ", &savetok))) { str = NULL; argc++; diff --git a/xlators/features/trash/src/trash.c b/xlators/features/trash/src/trash.c index 15d9a429f67..92ea19a55f3 100644 --- a/xlators/features/trash/src/trash.c +++ b/xlators/features/trash/src/trash.c @@ -504,9 +504,7 @@ trash_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc, trash_elim_pattern_t *trav = NULL; trash_private_t *priv = NULL; trash_local_t *local = NULL; - struct tm *tm = NULL; - char timestr[256] = {0,}; - time_t utime = 0; + char timestr[64] = {0,}; int32_t match = 0; priv = this->private; @@ -553,9 +551,8 @@ trash_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc, { /* append timestamp to file name */ /* TODO: can we make it optional? */ - utime = time (NULL); - tm = localtime (&utime); - strftime (timestr, 256, ".%Y-%m-%d-%H%M%S", tm); + gf_time_ftm (timestr, sizeof timestr, time (NULL), + gf_timefmt_F_HMS); strcat (local->newpath, timestr); } @@ -574,9 +571,7 @@ trash_unlink (call_frame_t *frame, xlator_t *this, loc_t *loc) trash_elim_pattern_t *trav = NULL; trash_private_t *priv = NULL; trash_local_t *local = NULL; - struct tm *tm = NULL; - char timestr[256] = {0,}; - time_t utime = 0; + char timestr[64] = {0,}; int32_t match = 0; priv = this->private; @@ -625,9 +620,8 @@ trash_unlink (call_frame_t *frame, xlator_t *this, loc_t *loc) { /* append timestamp to file name */ /* TODO: can we make it optional? */ - utime = time (NULL); - tm = localtime (&utime); - strftime (timestr, 256, ".%Y-%m-%d-%H%M%S", tm); + gf_time_fmt (timestr, sizeof timestr, time (NULL), + gf_timefmt_F_HMS); strcat (local->newpath, timestr); } @@ -943,10 +937,8 @@ trash_truncate_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this, { trash_private_t *priv = NULL; trash_local_t *local = NULL; - struct tm *tm = NULL; - char timestr[256] = {0,}; + char timestr[64] = {0,}; char loc_newname[PATH_MAX] = {0,}; - time_t utime = 0; int32_t flags = 0; priv = this->private; @@ -978,9 +970,8 @@ trash_truncate_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this, strcat (local->newpath, local->loc.path); { - utime = time (NULL); - tm = localtime (&utime); - strftime (timestr, 256, ".%Y-%m-%d-%H%M%S", tm); + gf_time_fmt (timestr, sizeof timestr, time (NULL), + gf_timefmt_F_HMS); strcat (local->newpath, timestr); } strcpy (loc_newname,local->loc.name); @@ -1346,11 +1337,9 @@ trash_ftruncate (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset) trash_private_t *priv = NULL; trash_local_t *local = NULL; dentry_t *dir_entry = NULL; - struct tm *tm = NULL; char *pathbuf = NULL; inode_t *newinode = NULL; - time_t utime = 0; - char timestr[256]; + char timestr[64]; int32_t retval = 0; int32_t match = 0; @@ -1389,10 +1378,7 @@ trash_ftruncate (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset) return 0; } - utime = time (NULL); - tm = localtime (&utime); - strftime (timestr, 256, ".%Y-%m-%d-%H%M%S", tm); - + gf_time_fmt (timestr, sizeof timestr, time (NULL), gf_timefmt_F_HMS); strcpy (local->newpath, priv->trash_dir); strcat (local->newpath, pathbuf); strcat (local->newpath, timestr); diff --git a/xlators/mgmt/glusterd/src/glusterd-mountbroker.c b/xlators/mgmt/glusterd/src/glusterd-mountbroker.c index 14cbb3d5de0..50ce1484e62 100644 --- a/xlators/mgmt/glusterd/src/glusterd-mountbroker.c +++ b/xlators/mgmt/glusterd/src/glusterd-mountbroker.c @@ -276,6 +276,7 @@ make_georep_mountspec (gf_mount_spec_t *mspec, const char *volnames, char *vols = NULL; char *vol = NULL; char *p = NULL; + char *savetok = NULL; char *fa[3] = {0,}; size_t siz = 0; int vc = 0; @@ -296,7 +297,7 @@ make_georep_mountspec (gf_mount_spec_t *mspec, const char *volnames, goto out; for (p = vols;;) { - vol = strtok (p, ","); + vol = strtok_r (p, ",", &savetok); if (!vol) { GF_ASSERT (vc == 0); break; diff --git a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c index 83122cdee6f..067196952ce 100644 --- a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c +++ b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c @@ -199,15 +199,16 @@ glusterd_op_stage_replace_brick (dict_t *dict, char **op_errstr, glusterd_brickinfo_t *src_brickinfo = NULL; char *host = NULL; char *path = NULL; - char msg[2048] = {0}; + char msg[2048] = {0}; char *dup_dstbrick = NULL; glusterd_peerinfo_t *peerinfo = NULL; glusterd_brickinfo_t *dst_brickinfo = NULL; - gf_boolean_t is_run = _gf_false; + gf_boolean_t is_run = _gf_false; dict_t *ctx = NULL; glusterd_conf_t *priv = NULL; - char voldir[PATH_MAX] = {0}; - char pidfile[PATH_MAX] = {0}; + char *savetok = NULL; + char voldir[PATH_MAX] = {0}; + char pidfile[PATH_MAX] = {0}; priv = THIS->private; GF_ASSERT (priv); @@ -422,8 +423,8 @@ glusterd_op_stage_replace_brick (dict_t *dict, char **op_errstr, gf_log ("", GF_LOG_ERROR, "Memory allocation failed"); goto out; } - host = strtok (dup_dstbrick, ":"); - path = strtok (NULL, ":"); + host = strtok_r (dup_dstbrick, ":", &savetok); + path = strtok_r (NULL, ":", &savetok); if (!host || !path) { gf_log ("", GF_LOG_ERROR, diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c index db26bbf2c10..173cf244146 100644 --- a/xlators/mgmt/glusterd/src/glusterd-store.c +++ b/xlators/mgmt/glusterd/src/glusterd-store.c @@ -1108,6 +1108,7 @@ glusterd_store_read_and_tokenize (FILE *file, char *str, glusterd_store_op_errno_t *store_errno) { int32_t ret = -1; + char *savetok = NULL; GF_ASSERT (file); GF_ASSERT (str); @@ -1122,14 +1123,14 @@ glusterd_store_read_and_tokenize (FILE *file, char *str, goto out; } - *iter_key = strtok (str, "="); + *iter_key = strtok_r (str, "=", &savetok); if (*iter_key == NULL) { ret = -1; *store_errno = GD_STORE_KEY_NULL; goto out; } - *iter_val = strtok (NULL, "="); + *iter_val = strtok_r (NULL, "=", &savetok); if (*iter_key == NULL) { ret = -1; *store_errno = GD_STORE_VALUE_NULL; diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 58b35cbddcb..6650043c175 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -4552,9 +4552,8 @@ glusterd_sm_tr_log_transition_add_to_dict (dict_t *dict, { int ret = -1; char key[512] = {0}; - char timestr[256] = {0,}; + char timestr[64] = {0,}; char *str = NULL; - struct tm tm = {0}; GF_ASSERT (dict); GF_ASSERT (log); @@ -4583,9 +4582,8 @@ glusterd_sm_tr_log_transition_add_to_dict (dict_t *dict, memset (key, 0, sizeof (key)); snprintf (key, sizeof (key), "log%d-time", count); - localtime_r ((const time_t*)&log->transitions[i].time, &tm); - memset (timestr, 0, sizeof (timestr)); - strftime (timestr, 256, "%Y-%m-%d %H:%M:%S", &tm); + gf_time_fmt (timestr, sizeof timestr, log->transitions[i].time, + gf_timefmt_FT); str = gf_strdup (timestr); ret = dict_set_dynstr (dict, key, str); if (ret) diff --git a/xlators/performance/io-cache/src/io-cache.c b/xlators/performance/io-cache/src/io-cache.c index 4dbb1aa01a9..85e876531a5 100644 --- a/xlators/performance/io-cache/src/io-cache.c +++ b/xlators/performance/io-cache/src/io-cache.c @@ -1816,7 +1816,6 @@ __ioc_cache_dump (ioc_inode_t *ioc_inode, char *prefix) ioc_table_t *table = NULL; ioc_page_t *page = NULL; int i = 0; - struct tm *tm = NULL; char key[GF_DUMP_MAX_BUF_LEN] = {0, }; char timestr[256] = {0, }; @@ -1827,9 +1826,9 @@ __ioc_cache_dump (ioc_inode_t *ioc_inode, char *prefix) table = ioc_inode->table; if (ioc_inode->cache.tv.tv_sec) { - tm = localtime (&ioc_inode->cache.tv.tv_sec); - strftime (timestr, 256, "%Y-%m-%d %H:%M:%S", tm); - snprintf (timestr + strlen (timestr), 256 - strlen (timestr), + gf_time_fmt (timestr, sizeof timestr, + ioc_inode->cache.tv.tv_sec, gf_timefmt_FT); + snprintf (timestr + strlen (timestr), sizeof timestr - strlen (timestr), ".%"GF_PRI_SUSECONDS, ioc_inode->cache.tv.tv_usec); gf_proc_dump_write ("last-cache-validation-time", "%s", diff --git a/xlators/performance/quick-read/src/quick-read.c b/xlators/performance/quick-read/src/quick-read.c index 05130878470..6e4ce816ec7 100644 --- a/xlators/performance/quick-read/src/quick-read.c +++ b/xlators/performance/quick-read/src/quick-read.c @@ -3435,7 +3435,6 @@ qr_inodectx_dump (xlator_t *this, inode_t *inode) int32_t ret = -1; char key_prefix[GF_DUMP_MAX_BUF_LEN] = {0, }; char buf[256] = {0, }; - struct tm *tm = NULL; ret = inode_ctx_get (inode, this, &value); if (ret != 0) { goto out; @@ -3453,9 +3452,9 @@ qr_inodectx_dump (xlator_t *this, inode_t *inode) gf_proc_dump_write ("entire-file-cached", "%s", qr_inode->xattr ? "yes" : "no"); if (qr_inode->tv.tv_sec) { - tm = localtime (&qr_inode->tv.tv_sec); - strftime (buf, 256, "%Y-%m-%d %H:%M:%S", tm); - snprintf (buf + strlen (buf), 256 - strlen (buf), + gf_time_fmt (buf, sizeof buf, qr_inode->tv.tv_sec, + gf_timefmt_FT); + snprintf (buf + strlen (buf), sizeof buf - strlen (buf), ".%"GF_PRI_SUSECONDS, qr_inode->tv.tv_usec); gf_proc_dump_write ("last-cache-validation-time", "%s", buf); |