From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Stefan Reiter Date: Tue, 12 Jan 2021 14:12:20 +0100 Subject: [PATCH] PVE: redirect stderr to journal when daemonized QEMU uses the logging for error messages usually, so LOG_ERR is most fitting. Signed-off-by: Stefan Reiter Signed-off-by: Thomas Lamprecht --- meson.build | 2 ++ os-posix.c | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 45c1f2de73..44071acbb7 100644 --- a/meson.build +++ b/meson.build @@ -1065,6 +1065,7 @@ keyutils = dependency('libkeyutils', required: false, has_gettid = cc.has_function('gettid') libuuid = cc.find_library('uuid', required: true) +libsystemd = cc.find_library('systemd', required: true) libproxmox_backup_qemu = cc.find_library('proxmox_backup_qemu', required: true) # Malloc tests @@ -2246,6 +2247,7 @@ if have_block # os-posix.c contains POSIX-specific functions used by qemu-storage-daemon, # os-win32.c does not blockdev_ss.add(when: 'CONFIG_POSIX', if_true: files('os-posix.c')) + blockdev_ss.add(when: 'CONFIG_POSIX', if_true: libsystemd) softmmu_ss.add(when: 'CONFIG_WIN32', if_true: [files('os-win32.c')]) endif diff --git a/os-posix.c b/os-posix.c index ae6c9f2a5e..36807806bf 100644 --- a/os-posix.c +++ b/os-posix.c @@ -28,6 +28,8 @@ #include #include #include +#include +#include #include "qemu-common.h" /* Needed early for CONFIG_BSD etc. */ @@ -291,9 +293,10 @@ void os_setup_post(void) dup2(fd, 0); dup2(fd, 1); - /* In case -D is given do not redirect stderr to /dev/null */ + /* In case -D is given do not redirect stderr to journal */ if (!qemu_logfile) { - dup2(fd, 2); + int journal_fd = sd_journal_stream_fd("QEMU", LOG_ERR, 0); + dup2(journal_fd, 2); } close(fd);