[libvirt] [PATCH] qemu: check for kvm availability before starting kvm guests

Laine Stump laine at laine.org
Tue Jan 10 18:45:42 UTC 2012


On 01/09/2012 03:23 PM, Eric Blake wrote:
> On 01/09/2012 01:05 PM, Laine Stump 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)
> 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!




More information about the libvir-list mailing list