xml = virCapabilitiesFormatXML(privconn->driver->caps);
return xml;
}
+
static int
vzDomainDefAddDefaultInputDevices(virDomainDefPtr def)
{
vzDomainDefPostParse(virDomainDefPtr def,
virCapsPtr caps ATTRIBUTE_UNUSED,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque)
+ void *opaque ATTRIBUTE_UNUSED)
{
if (vzDomainDefAddDefaultInputDevices(def) < 0)
return -1;
+ return 0;
+}
+
+static int
+vzDomainDefValidate(const virDomainDef *def,
+ virCapsPtr caps ATTRIBUTE_UNUSED,
+ void *opaque)
+{
if (vzCheckUnsupportedControllers(def, opaque) < 0)
return -1;
VIR_STRDUP(dev->data.net->model, "e1000") < 0)
return -1;
+ return 0;
+}
+
+static int
+vzDomainDeviceDefValidate(const virDomainDeviceDef *dev,
+ const virDomainDef *def,
+ void *opaque ATTRIBUTE_UNUSED)
+{
if (dev->type == VIR_DOMAIN_DEVICE_DISK)
return vzCheckUnsupportedDisk(def, dev->data.disk, opaque);
else if (dev->type == VIR_DOMAIN_DEVICE_GRAPHICS)
static virDomainDefParserConfig vzDomainDefParserConfig = {
.macPrefix = {0x42, 0x1C, 0x00},
- .devicesPostParseCallback = vzDomainDeviceDefPostParse,
.domainPostParseCallback = vzDomainDefPostParse,
+ .devicesPostParseCallback = vzDomainDeviceDefPostParse,
+ .domainValidateCallback = vzDomainDefValidate,
+ .deviceValidateCallback = vzDomainDeviceDefValidate,
};
static vzDriverPtr
virDomainDiskDefPtr disk,
vzCapabilitiesPtr vzCaps);
int
-vzCheckUnsupportedControllers(virDomainDefPtr def,
+vzCheckUnsupportedControllers(const virDomainDef *def,
vzCapabilitiesPtr vzCaps);
int
vzGetDefaultSCSIModel(vzDriverPtr driver,