mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: domain: Refactor domain device validation function
Use a style that will discourage from adding inline checks.
This commit is contained in:
parent
ab948b6299
commit
85b0e2f126
@ -3729,36 +3729,61 @@ qemuDomainDeviceDefValidate(const virDomainDeviceDef *dev,
|
|||||||
const virDomainDef *def,
|
const virDomainDef *def,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = 0;
|
||||||
|
|
||||||
if (dev->type == VIR_DOMAIN_DEVICE_NET) {
|
switch ((virDomainDeviceType) dev->type) {
|
||||||
if (qemuDomainDeviceDefValidateNetwork(dev->data.net) < 0)
|
case VIR_DOMAIN_DEVICE_NET:
|
||||||
goto cleanup;
|
ret = qemuDomainDeviceDefValidateNetwork(dev->data.net);
|
||||||
} else if (dev->type == VIR_DOMAIN_DEVICE_CHR) {
|
break;
|
||||||
if (qemuDomainChrDefValidate(dev->data.chr, def) < 0)
|
|
||||||
goto cleanup;
|
case VIR_DOMAIN_DEVICE_CHR:
|
||||||
} else if (dev->type == VIR_DOMAIN_DEVICE_SMARTCARD) {
|
ret = qemuDomainChrDefValidate(dev->data.chr, def);
|
||||||
if (qemuDomainSmartcardDefValidate(dev->data.smartcard) < 0)
|
break;
|
||||||
goto cleanup;
|
|
||||||
} else if (dev->type == VIR_DOMAIN_DEVICE_RNG) {
|
case VIR_DOMAIN_DEVICE_SMARTCARD:
|
||||||
if (qemuDomainRNGDefValidate(dev->data.rng) < 0)
|
ret = qemuDomainSmartcardDefValidate(dev->data.smartcard);
|
||||||
goto cleanup;
|
break;
|
||||||
} else if (dev->type == VIR_DOMAIN_DEVICE_REDIRDEV) {
|
|
||||||
if (qemuDomainRedirdevDefValidate(dev->data.redirdev) < 0)
|
case VIR_DOMAIN_DEVICE_RNG:
|
||||||
goto cleanup;
|
ret = qemuDomainRNGDefValidate(dev->data.rng);
|
||||||
} else if (dev->type == VIR_DOMAIN_DEVICE_WATCHDOG) {
|
break;
|
||||||
if (qemuDomainWatchdogDefValidate(dev->data.watchdog, def) < 0)
|
|
||||||
goto cleanup;
|
case VIR_DOMAIN_DEVICE_REDIRDEV:
|
||||||
} else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) {
|
ret = qemuDomainRedirdevDefValidate(dev->data.redirdev);
|
||||||
if (qemuDomainDeviceDefValidateHostdev(dev->data.hostdev, def) < 0)
|
break;
|
||||||
goto cleanup;
|
|
||||||
} else if (dev->type == VIR_DOMAIN_DEVICE_VIDEO) {
|
case VIR_DOMAIN_DEVICE_WATCHDOG:
|
||||||
if (qemuDomainDeviceDefValidateVideo(dev->data.video) < 0)
|
ret = qemuDomainWatchdogDefValidate(dev->data.watchdog, def);
|
||||||
goto cleanup;
|
break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_DEVICE_HOSTDEV:
|
||||||
|
ret = qemuDomainDeviceDefValidateHostdev(dev->data.hostdev, def);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_DEVICE_VIDEO:
|
||||||
|
ret = qemuDomainDeviceDefValidateVideo(dev->data.video);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VIR_DOMAIN_DEVICE_DISK:
|
||||||
|
case VIR_DOMAIN_DEVICE_LEASE:
|
||||||
|
case VIR_DOMAIN_DEVICE_FS:
|
||||||
|
case VIR_DOMAIN_DEVICE_INPUT:
|
||||||
|
case VIR_DOMAIN_DEVICE_SOUND:
|
||||||
|
case VIR_DOMAIN_DEVICE_CONTROLLER:
|
||||||
|
case VIR_DOMAIN_DEVICE_GRAPHICS:
|
||||||
|
case VIR_DOMAIN_DEVICE_HUB:
|
||||||
|
case VIR_DOMAIN_DEVICE_MEMBALLOON:
|
||||||
|
case VIR_DOMAIN_DEVICE_NVRAM:
|
||||||
|
case VIR_DOMAIN_DEVICE_SHMEM:
|
||||||
|
case VIR_DOMAIN_DEVICE_TPM:
|
||||||
|
case VIR_DOMAIN_DEVICE_PANIC:
|
||||||
|
case VIR_DOMAIN_DEVICE_MEMORY:
|
||||||
|
case VIR_DOMAIN_DEVICE_IOMMU:
|
||||||
|
case VIR_DOMAIN_DEVICE_NONE:
|
||||||
|
case VIR_DOMAIN_DEVICE_LAST:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = 0;
|
|
||||||
cleanup:
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user