When daemon is killed right in the middle of probing a qemu binary for
its capabilities, the VM is left running.  Next time the daemon is
starting, it cannot start qemu process because the one that's already
running does have the pidfile flock()'d.

Reported-by: Wang Yufei <[email protected]>

Signed-off-by: Martin Kletzander <[email protected]>
---
v2:
 - Don't use "/proc", but simply just try to acquire the pidfile.
 - https://www.redhat.com/archives/libvir-list/2014-October/msg00320.html

 src/qemu/qemu_capabilities.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 6fcb5c7..8aedf3f 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -3243,6 +3243,8 @@ virQEMUCapsInitQMP(virQEMUCapsPtr qemuCaps,
     config.data.nix.path = monpath;
     config.data.nix.listen = false;

+    virPidFileForceCleanupPath(pidfile);
+
     VIR_DEBUG("Try to get caps via QMP qemuCaps=%p", qemuCaps);

     /*
--
2.1.2

--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to