
On 01/09/2012 03:23 PM, Eric Blake wrote:
This *kind of* addresses:
https://bugzilla.redhat.com/show_bug.cgi?id=772395
(it doesn't eliminate the failure to start, but causes libvirt to give a better idea about the cause of the failure).
If a guest uses a kvm emulator (e.g. /usr/bin/qemu-kvm) and the guest is started when kvm isn't available (either because virtualization is unavailable / has been disabled in the BIOS, or the kvm modules haven't been loaded for some reason), a semi-cryptic error message is logged:
libvirtError: internal error Child process (LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin /usr/bin/qemu-kvm -device ? -device pci-assign,? -device virtio-blk-pci,? -device virtio-net-pci,?) status unexpected: exit status 1
This patch notices at process start that a guest needs kvm, and checks for the presence of /dev/kvm (a reasonable indicator that kvm is available) before trying to execute the qemu binary. If kvm isn't available, a more useful (too verbose??) error is logged. Nah, I think it is useful to have a message that long, as I have seen quite a few people on the IRC channel (myself included, at one point)
On 01/09/2012 01:05 PM, Laine Stump wrote: that have forgotten to turn on the BIOS to allow kvm.
Note that this patch will only be helpful in cases where kvm was available when the domain was defined, but is not available at runtime. The former would be an issue to be solved in virt-install/virt-manager, since they normally just pick from what libvirt tells them is available.
ACK.
Pushed. Thanks!