forked from rpms/libvirt
68 lines
1.9 KiB
Diff
68 lines
1.9 KiB
Diff
From 0c6f42b53f9b8f9ee60fd35d787528d0604d0bbb Mon Sep 17 00:00:00 2001
|
|
Message-Id: <0c6f42b53f9b8f9ee60fd35d787528d0604d0bbb@dist-git>
|
|
From: Stefano Brivio <sbrivio@redhat.com>
|
|
Date: Tue, 21 Feb 2023 20:19:07 +0100
|
|
Subject: [PATCH] qemu_passt: Remove passt socket file on exit
|
|
|
|
Just like it can't remove its own PID files, passt can't unlink its
|
|
own socket upon exit (unless the initialisation fails), because it
|
|
has no access to the filesystem at runtime.
|
|
|
|
Remove the socket file in qemuPasstKill().
|
|
|
|
Resolves: https://bugzilla.redhat.com/2169244
|
|
|
|
Fixes: a56f0168d576 ("qemu: hook up passt config to qemu domains")
|
|
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
|
|
Reviewed-by: Laine Stump <laine@redhat.com>
|
|
(cherry picked from commit b7a18787de7c193dc68640668cc176ef9d887bc1)
|
|
Signed-off-by: Laine Stump <laine@redhat.com>
|
|
---
|
|
src/qemu/qemu_passt.c | 9 ++++++---
|
|
1 file changed, 6 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/src/qemu/qemu_passt.c b/src/qemu/qemu_passt.c
|
|
index 1217a6a087..88b7df4453 100644
|
|
--- a/src/qemu/qemu_passt.c
|
|
+++ b/src/qemu/qemu_passt.c
|
|
@@ -103,7 +103,7 @@ qemuPasstAddNetProps(virDomainObj *vm,
|
|
|
|
|
|
static void
|
|
-qemuPasstKill(const char *pidfile)
|
|
+qemuPasstKill(const char *pidfile, const char *passtSocketName)
|
|
{
|
|
virErrorPtr orig_err;
|
|
pid_t pid = 0;
|
|
@@ -115,6 +115,8 @@ qemuPasstKill(const char *pidfile)
|
|
virProcessKillPainfully(pid, true);
|
|
unlink(pidfile);
|
|
|
|
+ unlink(passtSocketName);
|
|
+
|
|
virErrorRestore(&orig_err);
|
|
}
|
|
|
|
@@ -124,8 +126,9 @@ qemuPasstStop(virDomainObj *vm,
|
|
virDomainNetDef *net)
|
|
{
|
|
g_autofree char *pidfile = qemuPasstCreatePidFilename(vm, net);
|
|
+ g_autofree char *passtSocketName = qemuPasstCreateSocketPath(vm, net);
|
|
|
|
- qemuPasstKill(pidfile);
|
|
+ qemuPasstKill(pidfile, passtSocketName);
|
|
}
|
|
|
|
|
|
@@ -283,6 +286,6 @@ qemuPasstStart(virDomainObj *vm,
|
|
return 0;
|
|
|
|
error:
|
|
- qemuPasstKill(pidfile);
|
|
+ qemuPasstKill(pidfile, passtSocketName);
|
|
return -1;
|
|
}
|
|
--
|
|
2.39.2
|
|
|