
On Wed, Jul 11, 2018 at 10:09:01AM +0200, Michal Privoznik wrote:
On 07/11/2018 09:58 AM, Erik Skultety wrote:
On Tue, Jul 10, 2018 at 01:39:03PM +0200, Michal Privoznik wrote:
On 07/09/2018 06:24 PM, Erik Skultety wrote:
QEMU 2.12 introduced a new type of display for mediated devices using vfio-pci backend which allows a mediated device to be used as a VGA compatible device as an alternative to an emulated video device. QEMU exposes this feature via a vfio device property 'display' with supported values 'on/off/auto' (default is 'off').
This patch adds the necessary bits to domain config handling in order to expose this feature. Since there's no convenient way for libvirt to come up with usable defaults for the display setting, simply because libvirt is not able to figure out which of the display implementations - dma-buf which requires OpenGL support vs vfio regions which doesn't need OpenGL (works with OpenGL enabled too) - the underlying mdev uses.
Signed-off-by: Erik Skultety <eskultet@redhat.com> --- ...
+static int +qemuDomainHostdevDefPostParse(const virDomainHostdevDef *hostdev, + const virDomainDef *def) +{ + const virDomainHostdevSubsysMediatedDev *mdevsrc; + + if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS) { + switch ((virDomainHostdevSubsysType) hostdev->source.subsys.type) { + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB: + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI: + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI: + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI_HOST: + break; + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV: + mdevsrc = &hostdev->source.subsys.u.mdev; + return qemuDomainHostdevMdevDefPostParse(mdevsrc, def); + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_LAST: + default: + virReportEnumRangeError(virDomainHostdevSubsysType, + hostdev->source.subsys.type); + return -1; + } + } + + return 0; +} +
Again, these two ^^ are validate callbacks not PostParse. You are not filling in missing information, you are checking (=validating) whether user provided XML is valid.
Actually, both of them were, back in the RFC series I linked (I completely agree with you) but I was asked to convert them to post parse so that xml2xml test could fail for invalid XMLs. Let me know whether I should convert them back.
Asked by whom?
Here you go https://www.redhat.com/archives/libvir-list/2018-June/msg00285.html. Revisiting it back I believe it was a combination of a small misunderstanding and my lazy thinking, so yep, I reverted the change back to being a validation callback and moved the *-missing-graphics* test into patch 7 where it's actually used. Erik