cryptospore / rpms / qemu-kvm

Forked from rpms/qemu-kvm 2 years ago
Clone

Blame SOURCES/kvm-virtiofsd-Add-ID-to-the-log-with-FUSE_LOG_DEBUG-leve.patch

902636
From 4d9106acfd7ed9e4d197ddf9f22b79ba6c8afdd8 Mon Sep 17 00:00:00 2001
902636
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
902636
Date: Mon, 27 Jan 2020 19:01:38 +0100
902636
Subject: [PATCH 067/116] virtiofsd: Add ID to the log with FUSE_LOG_DEBUG
902636
 level
902636
MIME-Version: 1.0
902636
Content-Type: text/plain; charset=UTF-8
902636
Content-Transfer-Encoding: 8bit
902636
902636
RH-Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
902636
Message-id: <20200127190227.40942-64-dgilbert@redhat.com>
902636
Patchwork-id: 93514
902636
O-Subject: [RHEL-AV-8.2 qemu-kvm PATCH 063/112] virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level
902636
Bugzilla: 1694164
902636
RH-Acked-by: Philippe Mathieu-Daudé <philmd@redhat.com>
902636
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
902636
RH-Acked-by: Sergio Lopez Pascual <slp@redhat.com>
902636
902636
From: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
902636
902636
virtiofsd has some threads, so we see a lot of logs with debug option.
902636
It would be useful for debugging if we can identify the specific thread
902636
from the log.
902636
902636
Add ID, which is got by gettid(), to the log with FUSE_LOG_DEBUG level
902636
so that we can grep the specific thread.
902636
902636
The log is like as:
902636
902636
  ]# ./virtiofsd -d -o vhost_user_socket=/tmp/vhostqemu0 -o source=/tmp/share0 -o cache=auto
902636
  ...
902636
  [ID: 00000097]    unique: 12696, success, outsize: 120
902636
  [ID: 00000097] virtio_send_msg: elem 18: with 2 in desc of length 120
902636
  [ID: 00000003] fv_queue_thread: Got queue event on Queue 1
902636
  [ID: 00000003] fv_queue_thread: Queue 1 gave evalue: 1 available: in: 65552 out: 80
902636
  [ID: 00000003] fv_queue_thread: Waiting for Queue 1 event
902636
  [ID: 00000071] fv_queue_worker: elem 33: with 2 out desc of length 80 bad_in_num=0 bad_out_num=0
902636
  [ID: 00000071] unique: 12694, opcode: READ (15), nodeid: 2, insize: 80, pid: 2014
902636
  [ID: 00000071] lo_read(ino=2, size=65536, off=131072)
902636
902636
Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
902636
902636
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
902636
  added rework as suggested by Daniel P. Berrangé during review
902636
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
902636
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
902636
(cherry picked from commit 36f3846902bd41413f6c0bf797dee509028c29f4)
902636
902636
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
902636
---
902636
 tools/virtiofsd/passthrough_ll.c | 8 ++++++++
902636
 1 file changed, 8 insertions(+)
902636
902636
diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
902636
index ff6910f..f08324f 100644
902636
--- a/tools/virtiofsd/passthrough_ll.c
902636
+++ b/tools/virtiofsd/passthrough_ll.c
902636
@@ -43,6 +43,7 @@
902636
 #include <cap-ng.h>
902636
 #include <dirent.h>
902636
 #include <errno.h>
902636
+#include <glib.h>
902636
 #include <inttypes.h>
902636
 #include <limits.h>
902636
 #include <pthread.h>
902636
@@ -2268,10 +2269,17 @@ static void setup_nofile_rlimit(void)
902636
 
902636
 static void log_func(enum fuse_log_level level, const char *fmt, va_list ap)
902636
 {
902636
+    g_autofree char *localfmt = NULL;
902636
+
902636
     if (current_log_level < level) {
902636
         return;
902636
     }
902636
 
902636
+    if (current_log_level == FUSE_LOG_DEBUG) {
902636
+        localfmt = g_strdup_printf("[ID: %08ld] %s", syscall(__NR_gettid), fmt);
902636
+        fmt = localfmt;
902636
+    }
902636
+
902636
     if (use_syslog) {
902636
         int priority = LOG_ERR;
902636
         switch (level) {
902636
-- 
902636
1.8.3.1
902636