[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 059/104] virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[PATCH 059/104] virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level |
Date: |
Thu, 12 Dec 2019 16:38:19 +0000 |
From: Masayoshi Mizuma <address@hidden>
virtiofsd has some threads, so we see a lot of logs with debug option.
It would be useful for debugging if we can identify the specific thread
from the log.
Add ID, which is got by gettid(), to the log with FUSE_LOG_DEBUG level
so that we can grep the specific thread.
The log is like as:
]# ./virtiofsd -d -o vhost_user_socket=/tmp/vhostqemu0 -o source=/tmp/share0
-o cache=auto
...
[ID: 00000097] unique: 12696, success, outsize: 120
[ID: 00000097] virtio_send_msg: elem 18: with 2 in desc of length 120
[ID: 00000003] fv_queue_thread: Got queue event on Queue 1
[ID: 00000003] fv_queue_thread: Queue 1 gave evalue: 1 available: in: 65552
out: 80
[ID: 00000003] fv_queue_thread: Waiting for Queue 1 event
[ID: 00000071] fv_queue_worker: elem 33: with 2 out desc of length 80
bad_in_num=0 bad_out_num=0
[ID: 00000071] unique: 12694, opcode: READ (15), nodeid: 2, insize: 80, pid:
2014
[ID: 00000071] lo_read(ino=2, size=65536, off=131072)
Signed-off-by: Masayoshi Mizuma <address@hidden>
---
tools/virtiofsd/passthrough_ll.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
index 6f398a7ff2..8e00a90e6f 100644
--- a/tools/virtiofsd/passthrough_ll.c
+++ b/tools/virtiofsd/passthrough_ll.c
@@ -42,6 +42,7 @@
#include <cap-ng.h>
#include <dirent.h>
#include <errno.h>
+#include <glib.h>
#include <inttypes.h>
#include <limits.h>
#include <pthread.h>
@@ -2248,12 +2249,18 @@ static void setup_nofile_rlimit(void)
}
}
-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)
{
+ char *fmt = (char *)_fmt;
+
if (current_log_level < level) {
return;
}
+ if (current_log_level == FUSE_LOG_DEBUG) {
+ fmt = g_strdup_printf("[ID: %08ld] %s", syscall(__NR_gettid), _fmt);
+ }
+
if (use_syslog) {
int priority = LOG_ERR;
switch (level) {
@@ -2286,6 +2293,10 @@ static void log_func(enum fuse_log_level level, const
char *fmt, va_list ap)
} else {
vfprintf(stderr, fmt, ap);
}
+
+ if (current_log_level == FUSE_LOG_DEBUG) {
+ g_free(fmt);
+ }
}
int main(int argc, char *argv[])
--
2.23.0
- [PATCH 048/104] virtiofsd: move to an empty network namespace, (continued)
- [PATCH 048/104] virtiofsd: move to an empty network namespace, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 049/104] virtiofsd: move to a new pid namespace, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 050/104] virtiofsd: add seccomp whitelist, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 051/104] virtiofsd: Parse flag FUSE_WRITE_KILL_PRIV, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 052/104] virtiofsd: cap-ng helpers, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 053/104] virtiofsd: Drop CAP_FSETID if client asked for it, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 054/104] virtiofsd: set maximum RLIMIT_NOFILE limit, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 057/104] virtiofsd: add --syslog command-line option, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 055/104] virtiofsd: fix libfuse information leaks, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 056/104] virtiofsd: add security guide document, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 059/104] virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level,
Dr. David Alan Gilbert (git) <=
- [PATCH 060/104] virtiofsd: Add timestamp to the log with FUSE_LOG_DEBUG level, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 058/104] virtiofsd: print log only when priority is high enough, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 061/104] virtiofsd: Handle reinit, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 062/104] virtiofsd: Handle hard reboot, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 063/104] virtiofsd: Kill threads when queues are stopped, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 064/104] vhost-user: Print unexpected slave message types, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 065/104] contrib/libvhost-user: Protect slave fd with mutex, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 066/104] virtiofsd: passthrough_ll: add renameat2 support, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 067/104] virtiofsd: passthrough_ll: disable readdirplus on cache=never, Dr. David Alan Gilbert (git), 2019/12/12
- [PATCH 068/104] virtiofsd: passthrough_ll: control readdirplus, Dr. David Alan Gilbert (git), 2019/12/12