virtiofsd: use g_date_time_get_microsecond to get subsecond
The "%f" specifier in g_date_time_format() is only available in glib 2.65.2 or later. If combined with older glib, the function returns null and the timestamp displayed as "(null)". For backward compatibility, g_date_time_get_microsecond should be used to retrieve subsecond. In this patch the g_date_time_format() leaves subsecond field as "%06d" and let next snprintf to format with g_date_time_get_microsecond. Signed-off-by: Yusuke Okada <okada.yusuke@jp.fujitsu.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-id: 20220818184618.2205172-1-yokada.996@gmail.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
6338c30111
commit
f16d15c927
@ -4185,6 +4185,7 @@ static void setup_nofile_rlimit(unsigned long rlimit_nofile)
|
|||||||
static void log_func(enum fuse_log_level level, const char *fmt, va_list ap)
|
static void log_func(enum fuse_log_level level, const char *fmt, va_list ap)
|
||||||
{
|
{
|
||||||
g_autofree char *localfmt = NULL;
|
g_autofree char *localfmt = NULL;
|
||||||
|
char buf[64];
|
||||||
|
|
||||||
if (current_log_level < level) {
|
if (current_log_level < level) {
|
||||||
return;
|
return;
|
||||||
@ -4197,9 +4198,11 @@ static void log_func(enum fuse_log_level level, const char *fmt, va_list ap)
|
|||||||
fmt);
|
fmt);
|
||||||
} else {
|
} else {
|
||||||
g_autoptr(GDateTime) now = g_date_time_new_now_utc();
|
g_autoptr(GDateTime) now = g_date_time_new_now_utc();
|
||||||
g_autofree char *nowstr = g_date_time_format(now, "%Y-%m-%d %H:%M:%S.%f%z");
|
g_autofree char *nowstr = g_date_time_format(now,
|
||||||
|
"%Y-%m-%d %H:%M:%S.%%06d%z");
|
||||||
|
snprintf(buf, 64, nowstr, g_date_time_get_microsecond(now));
|
||||||
localfmt = g_strdup_printf("[%s] [ID: %08ld] %s",
|
localfmt = g_strdup_printf("[%s] [ID: %08ld] %s",
|
||||||
nowstr, syscall(__NR_gettid), fmt);
|
buf, syscall(__NR_gettid), fmt);
|
||||||
}
|
}
|
||||||
fmt = localfmt;
|
fmt = localfmt;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user