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 <eskul...@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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to