[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 7/7] virtiofsd: use GDateTime for formatting timestamp for de
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [PATCH 7/7] virtiofsd: use GDateTime for formatting timestamp for debug messages |
Date: |
Wed, 5 May 2021 15:51:42 +0100 |
User-agent: |
Mutt/2.0.6 (2021-03-06) |
* Daniel P. Berrangé (berrange@redhat.com) wrote:
> The GDateTime APIs provided by GLib avoid portability pitfalls, such
> as some platforms where 'struct timeval.tv_sec' field is still 'long'
> instead of 'time_t'. When combined with automatic cleanup, GDateTime
> often results in simpler code too.
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
> tools/virtiofsd/passthrough_ll.c | 25 ++++---------------------
> 1 file changed, 4 insertions(+), 21 deletions(-)
>
> diff --git a/tools/virtiofsd/passthrough_ll.c
> b/tools/virtiofsd/passthrough_ll.c
> index 1553d2ef45..cdd224918c 100644
> --- a/tools/virtiofsd/passthrough_ll.c
> +++ b/tools/virtiofsd/passthrough_ll.c
> @@ -3558,10 +3558,6 @@ static void setup_nofile_rlimit(unsigned long
> rlimit_nofile)
> static void log_func(enum fuse_log_level level, const char *fmt, va_list ap)
> {
> g_autofree char *localfmt = NULL;
> - struct timespec ts;
> - struct tm tm;
> - char sec_fmt[sizeof "2020-12-07 18:17:54"];
> - char zone_fmt[sizeof "+0100"];
>
> if (current_log_level < level) {
> return;
> @@ -3573,23 +3569,10 @@ static void log_func(enum fuse_log_level level, const
> char *fmt, va_list ap)
> localfmt = g_strdup_printf("[ID: %08ld] %s",
> syscall(__NR_gettid),
> fmt);
> } else {
> - /* try formatting a broken-down timestamp */
> - if (clock_gettime(CLOCK_REALTIME, &ts) != -1 &&
> - localtime_r(&ts.tv_sec, &tm) != NULL &&
> - strftime(sec_fmt, sizeof sec_fmt, "%Y-%m-%d %H:%M:%S",
> - &tm) != 0 &&
> - strftime(zone_fmt, sizeof zone_fmt, "%z", &tm) != 0) {
> - localfmt = g_strdup_printf("[%s.%02ld%s] [ID: %08ld] %s",
> - sec_fmt,
> - ts.tv_nsec / (10L * 1000 * 1000),
> - zone_fmt, syscall(__NR_gettid),
> - fmt);
> - } else {
> - /* fall back to a flat timestamp */
> - localfmt = g_strdup_printf("[%" PRId64 "] [ID: %08ld] %s",
> - get_clock(), syscall(__NR_gettid),
> - fmt);
> - }
> + g_autoptr(GDateTime) now = g_date_time_new_now_local();
> + g_autofree char *nowstr = g_date_time_format(now, "%Y-%m-%d
> %H:%M:%S.%f%z");
> + localfmt = g_strdup_printf("[%s] [ID: %08ld] %s",
> + nowstr, syscall(__NR_gettid), fmt);
> }
> fmt = localfmt;
> }
> --
> 2.31.1
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
- [PATCH 2/7] block: use GDateTime for formatting timestamp when dumping snapshot info, (continued)
- [PATCH 2/7] block: use GDateTime for formatting timestamp when dumping snapshot info, Daniel P . Berrangé, 2021/05/05
- [PATCH 3/7] net/rocker: use GDateTime for formatting timestamp in debug messages, Daniel P . Berrangé, 2021/05/05
- [PATCH 4/7] usb/dev-mtp: use GDateTime for formatting timestamp for objects, Daniel P . Berrangé, 2021/05/05
- [PATCH 5/7] io: use GDateTime for formatting timestamp for websock headers, Daniel P . Berrangé, 2021/05/05
- [PATCH 6/7] linux-user: use GDateTime for formatting timestamp for core file, Daniel P . Berrangé, 2021/05/05
- [PATCH 7/7] virtiofsd: use GDateTime for formatting timestamp for debug messages, Daniel P . Berrangé, 2021/05/05
- Re: [PATCH 7/7] virtiofsd: use GDateTime for formatting timestamp for debug messages,
Dr. David Alan Gilbert <=