On Thu, Oct 30, 2014 at 10:42:05AM +0100, Peter Krempa wrote:
On 10/12/14 14:12, Martin Kletzander wrote:
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

s/VM/qemu process/ ? The qemu isn't running anything so it might confuse
someone.

starting, it cannot start qemu process because the one that's already
running does have the pidfile flock()'d.

Reported-by: Wang Yufei <james.wangyu...@huawei.com>

Signed-off-by: Martin Kletzander <mklet...@redhat.com>
---
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);

     /*

ACK. It is a bugfix, but the code path is is critical. I'm leaning
towards pushing this before the freeze but I'd feel better with yet
another opinion.


I fixed both things you've pointed out and I'll leave the push after
release since I already broke the build once :)

Martin

Attachment: signature.asc
Description: Digital signature

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to