[libvirt] [PATCH 3/3] qemu_process: add check for hyperv features

Pavel Hrdina phrdina at redhat.com
Wed Mar 30 07:50:14 UTC 2016


On Tue, Mar 29, 2016 at 07:06:14PM +0300, Maxim Nestratov wrote:
> 29.03.2016 16:31, Pavel Hrdina пишет:
> > Commit 7068b56c introduced several hyperv features.  Not all hyperv
> > features are supported by old enough kernels and we shouldn't allow to
> > start a guest if kernel doesn't support any of the hyperv feature.
> >
> > There is one exception, for backward compatibility we cannot error out
> > if one of the RELAXED, VAPIC or SPINLOCKS isn't supported, for the same
> > reason we ignore invtsc, to not break restoring saved domains with older
> > libvirt.
> >

[...]

> 
> Hmm, qemu already checks them and simply ignores most of them and 
> doesn't prevent guest from starting in case they are not supported and 
> optional. In case they are reqired it fails. Why should we check them 
> here? At least we should follow the logic qemu has.

Yes, that's true that QEMU do some checks and ignores most of the features
missing in kernel, but that's no reason why we should do the same.  Libvirt
tries to present in domain XML only those features and devices that are actually
present in the guest.  Thus if you tell libvirt that you want some hyperv
feature but your host kernel doesn't support it, we should let the user know
that this feature isn't supported instead of ignoring that fact and start the
guest anyway.

Pavel




More information about the libvir-list mailing list