mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
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(). 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>
This commit is contained in:
parent
4938954ed3
commit
b7a18787de
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user