mirror of https://gitee.com/openkylin/libvirt.git
conf: validate: Run global device definition validation before callbacks
The validation infrastructure doesn't modify the definition and additionally it makes sense to run the global code first as it's validating certain corner cases. The changed error messages from qemuxml2argvtest show that this is indeed the proper ordering as all changed messages are actually better describing the error. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
7dee442677
commit
002de683c6
|
@ -2289,12 +2289,12 @@ virDomainDeviceDefValidate(const virDomainDeviceDef *dev,
|
||||||
if (parseFlags & VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE)
|
if (parseFlags & VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
if (virDomainDeviceDefValidateInternal(dev, def) < 0)
|
||||||
|
return -1;
|
||||||
|
|
||||||
if (xmlopt->config.deviceValidateCallback &&
|
if (xmlopt->config.deviceValidateCallback &&
|
||||||
xmlopt->config.deviceValidateCallback(dev, def, xmlopt->config.priv, parseOpaque))
|
xmlopt->config.deviceValidateCallback(dev, def, xmlopt->config.priv, parseOpaque))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (virDomainDeviceDefValidateInternal(dev, def) < 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
unsupported configuration: domain configuration does not support video model 'default'
|
internal error: missing video model and cannot determine default
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
internal error: unexpected address type for fdc disk
|
unsupported configuration: Invalid address type 'pci' for the disk 'fda' with the bus type 'fdc'
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
internal error: unexpected address type for ide disk
|
unsupported configuration: Invalid address type 'pci' for the disk 'hda' with the bus type 'ide'
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
internal error: unexpected address type for sata disk
|
unsupported configuration: Invalid address type 'pci' for the disk 'sda' with the bus type 'sata'
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
internal error: unexpected address type for scsi disk
|
unsupported configuration: Invalid address type 'pci' for the disk 'sda' with the bus type 'scsi'
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
unsupported configuration: Option 'numaNode' is not valid for PCI controller with index '0', model 'pci-root' and modelName 'spapr-pci-host-bridge'
|
unsupported configuration: The PCI controller with index=0 can't be associated with a NUMA node
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
unsupported configuration: The 'spapr-pci-host-bridge' device is not supported by this QEMU binary
|
unsupported configuration: Only the PCI controller with index 0 can have target index 0, and vice versa
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
unsupported configuration: The 'spapr-pci-host-bridge' device is not supported by this QEMU binary
|
unsupported configuration: Only the PCI controller with index 0 can have target index 0, and vice versa
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
unsupported configuration: The 'spapr-pci-host-bridge' device is not supported by this QEMU binary
|
unsupported configuration: PCI controller target index '31' out of range - must be 0-30
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
unsupported configuration: domain configuration does not support video model 'qxl'
|
unsupported configuration: a 'none' video type must be the only video device defined for the domain
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
unsupported configuration: 'address' is not supported for 'ramfb' video devices
|
unsupported configuration: address not supported for video type ramfb
|
||||||
|
|
Loading…
Reference in New Issue