[Virtio-fs] [PATCH 2/2] virtiofsd: Add timestamp to the log with FUSE_LOG_DEBUG level

Masayoshi Mizuma msys.mizuma at gmail.com
Wed Nov 6 19:06:02 UTC 2019


From: Masayoshi Mizuma <m.mizuma at jp.fujitsu.com>

virtiofsd has some threads, so we see a lot of logs with debug option.
It would be useful for debugging if we can see the timestamp.

Add nano second timestamp, which got by get_clock(), to the log with
FUSE_LOG_DEBUG level if the syslog option isn't set.

The log is like as:

  ]# ./virtiofsd -d -o vhost_user_socket=/tmp/vhostqemu0 -o source=/tmp/share0 -o cache=auto
  ...
  [5365943125463727] [ID: 00000002] fv_queue_thread: Start for queue 0 kick_fd 9
  [5365943125568644] [ID: 00000002] fv_queue_thread: Waiting for Queue 0 event
  [5365943125573561] [ID: 00000002] fv_queue_thread: Got queue event on Queue 0

Signed-off-by: Masayoshi Mizuma <m.mizuma at jp.fujitsu.com>
---
 contrib/virtiofsd/passthrough_ll.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/contrib/virtiofsd/passthrough_ll.c b/contrib/virtiofsd/passthrough_ll.c
index 0e85d5ea74..406f62ab37 100644
--- a/contrib/virtiofsd/passthrough_ll.c
+++ b/contrib/virtiofsd/passthrough_ll.c
@@ -37,6 +37,8 @@
 #include "fuse_virtio.h"
 #include "fuse_lowlevel.h"
 #include "fuse_log.h"
+#include "qemu/osdep.h"
+#include "qemu/timer.h"
 #include <unistd.h>
 #include <stdlib.h>
 #include <stdio.h>
@@ -2856,9 +2858,14 @@ static void log_func(enum fuse_log_level level,
 	if (current_log_level < level)
 		return;
 
-	if (current_log_level == FUSE_LOG_DEBUG)
-		fmt = g_strdup_printf("[ID: %08ld] %s",
+	if (current_log_level == FUSE_LOG_DEBUG) {
+		if (!use_syslog)
+			fmt = g_strdup_printf("[%ld] [ID: %08ld] %s",
+				get_clock(), syscall(__NR_gettid), _fmt);
+		else
+			fmt = g_strdup_printf("[ID: %08ld] %s",
 				syscall(__NR_gettid), _fmt);
+	}
 
 	if (use_syslog) {
 		int priority = LOG_ERR;
-- 
2.18.1




More information about the Virtio-fs mailing list