[pve-devel] [PATCH qemu] init: daemonize: defuse PID file resolve error to warning

Fiona Ebner f.ebner at proxmox.com
Thu Oct 27 10:09:20 CEST 2022

When proxmox-file-restore invokes QEMU, the PID file is a (temporary)
file that's already unlinked, so resolving the absolute path here

It should not be a critical error when the PID file unlink handler
can't be registered, because the path can't be resolved for whatever
reason. Just turn it into a warning instead.

Signed-off-by: Fiona Ebner <f.ebner at proxmox.com>
 softmmu/vl.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 0d233d55f3..1fa992ab09 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -2445,10 +2445,9 @@ static void qemu_maybe_daemonize(const char *pid_file)
         pid_file_realpath = g_malloc0(PATH_MAX);
         if (!realpath(pid_file, pid_file_realpath)) {
-            error_report("cannot resolve PID file path: %s: %s",
-                         pid_file, strerror(errno));
-            unlink(pid_file);
-            exit(1);
+            warn_report("not removing PID file on exit: cannot resolve path: "
+                        "%s: %s", pid_file, strerror(errno));
+            return;
         qemu_unlink_pidfile_notifier = (struct UnlinkPidfileNotifier) {

More information about the pve-devel mailing list