Hi, all
I started and stopped libvirtd service repeatly with high frequency(1 per second), and
found that the file capabilities.pidfile is left behind, as well as a qemu process. If I
then restart libvirtd, qemu-kvm will fail to start as it's unable to flock
capabilities.pidfile's fd.
Steps to reproduce the problem:
1. start libvirtd service per second with a shell script.
2. meanwhile, stop libvirtd service per second with another shell script.
3. then, a process qemu is left behind:
/usr/bin/qemu-kvm -S -no-user-config -nodefaults -nographic -M none -qmp
unix:/var/lib/libvirt/qemu/capabilities.monitor.sock,server,nowait -pidfile
/var/lib/libvirt/qemu/capabilities.pidfile -daemonize
4. file /var/lib/libvirt/qemu/capabilities.pidfile is left behind
5. start libvirtd again, the process qemu-kvm fails to start.
The cause of the problem:
This file is generated by qemu, and deleted by libvirtd. If libvirtd got killed before
it removes the pidfile, it would be left behind then.
Question:
Would it be fine if I kill qemu-kvm process and unlink capabilities.pidfile, just
before virQEMUCapsInitQMP runs this qemu-kvm process?
--
Best Regards
Wang Yufei