Now that all its helper functions are in qemu_validate.c, we can
move the function itself. The helpers can become static again since
they're all in the same file.
Signed-off-by: Daniel Henrique Barboza <danielhb413(a)gmail.com>
---
src/qemu/qemu_domain.c | 128 +----------------------------
src/qemu/qemu_validate.c | 168 ++++++++++++++++++++++++++++++++++-----
src/qemu/qemu_validate.h | 57 +------------
3 files changed, 151 insertions(+), 202 deletions(-)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 3ab2bfe879..76ef0c531f 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -5278,132 +5278,6 @@ qemuDomainValidateStorageSource(virStorageSourcePtr src,
}
-static int
-qemuDomainDeviceDefValidate(const virDomainDeviceDef *dev,
- const virDomainDef *def,
- void *opaque)
-{
- int ret = 0;
- virQEMUDriverPtr driver = opaque;
- g_autoptr(virQEMUCaps) qemuCaps = NULL;
- g_autoptr(virDomainCaps) domCaps = NULL;
-
- if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache,
- def->emulator)))
- return -1;
-
- if (!(domCaps = virQEMUDriverGetDomainCapabilities(driver, qemuCaps,
- def->os.machine,
- def->os.arch,
- def->virtType)))
- return -1;
-
- if ((ret = qemuValidateDomainDeviceDefAddress(dev, qemuCaps)) < 0)
- return ret;
-
- if ((ret = virDomainCapsDeviceDefValidate(domCaps, dev, def)) < 0)
- return ret;
-
- switch ((virDomainDeviceType)dev->type) {
- case VIR_DOMAIN_DEVICE_NET:
- ret =
qemuValidateDomainDeviceDefNetwork(dev->data.net, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_CHR:
- ret = qemuValidateDomainChrDef(dev->data.chr, def, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_SMARTCARD:
- ret = qemuValidateDomainSmartcardDef(dev->data.smartcard, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_RNG:
- ret = qemuValidateDomainRNGDef(dev->data.rng, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_REDIRDEV:
- ret = qemuValidateDomainRedirdevDef(dev->data.redirdev, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_WATCHDOG:
- ret = qemuValidateDomainWatchdogDef(dev->data.watchdog, def);
- break;
-
- case VIR_DOMAIN_DEVICE_HOSTDEV:
- ret = qemuValidateDomainDeviceDefHostdev(dev->data.hostdev, def,
- qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_VIDEO:
- ret = qemuValidateDomainDeviceDefVideo(dev->data.video, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_DISK:
- ret = qemuValidateDomainDeviceDefDisk(dev->data.disk, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_CONTROLLER:
- ret = qemuValidateDomainDeviceDefController(dev->data.controller, def,
- qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_VSOCK:
- ret = qemuValidateDomainDeviceDefVsock(dev->data.vsock, def, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_TPM:
- ret = qemuValidateDomainDeviceDefTPM(dev->data.tpm, def, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_GRAPHICS:
- ret = qemuValidateDomainDeviceDefGraphics(dev->data.graphics, def,
- driver, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_INPUT:
- ret = qemuValidateDomainDeviceDefInput(dev->data.input, def, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_MEMBALLOON:
- ret = qemuValidateDomainDeviceDefMemballoon(dev->data.memballoon, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_IOMMU:
- ret = qemuValidateDomainDeviceDefIOMMU(dev->data.iommu, def, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_FS:
- ret = qemuValidateDomainDeviceDefFS(dev->data.fs, def, driver, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_NVRAM:
- ret = qemuValidateDomainDeviceDefNVRAM(dev->data.nvram, def, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_HUB:
- ret = qemuValidateDomainDeviceDefHub(dev->data.hub, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_SOUND:
- ret = qemuValidateDomainDeviceDefSound(dev->data.sound, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_MEMORY:
- ret = qemuValidateDomainDeviceDefMemory(dev->data.memory, qemuCaps);
- break;
-
- case VIR_DOMAIN_DEVICE_LEASE:
- case VIR_DOMAIN_DEVICE_SHMEM:
- case VIR_DOMAIN_DEVICE_PANIC:
- case VIR_DOMAIN_DEVICE_NONE:
- case VIR_DOMAIN_DEVICE_LAST:
- break;
- }
-
- return ret;
-}
-
-
/**
* qemuDomainDefaultNetModel:
* @def: domain definition
@@ -6153,7 +6027,7 @@ virDomainDefParserConfig virQEMUDriverDomainDefParserConfig = {
.domainPostParseCallback = qemuDomainDefPostParse,
.assignAddressesCallback = qemuDomainDefAssignAddresses,
.domainValidateCallback = qemuValidateDomainDef,
- .deviceValidateCallback = qemuDomainDeviceDefValidate,
+ .deviceValidateCallback = qemuValidateDomainDeviceDef,
.features = VIR_DOMAIN_DEF_FEATURE_MEMORY_HOTPLUG |
VIR_DOMAIN_DEF_FEATURE_OFFLINE_VCPUPIN |
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 6c772093de..e059ad79e1 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -963,7 +963,7 @@ qemuValidateDomainDeviceDefZPCIAddress(virDomainDeviceInfoPtr info,
}
-int
+static int
qemuValidateDomainDeviceDefAddress(const virDomainDeviceDef *dev,
virQEMUCapsPtr qemuCaps)
{
@@ -1043,7 +1043,7 @@ qemuValidateNetSupportsCoalesce(virDomainNetType type)
}
-int
+static int
qemuValidateDomainDeviceDefNetwork(const virDomainNetDef *net,
virQEMUCapsPtr qemuCaps)
{
@@ -1360,7 +1360,7 @@ qemuValidateDomainChrSourceDef(const virDomainChrSourceDef *def,
}
-int
+static int
qemuValidateDomainChrDef(const virDomainChrDef *dev,
const virDomainDef *def,
virQEMUCapsPtr qemuCaps)
@@ -1420,7 +1420,7 @@ qemuValidateDomainChrDef(const virDomainChrDef *dev,
}
-int
+static int
qemuValidateDomainSmartcardDef(const virDomainSmartcardDef *def,
virQEMUCapsPtr qemuCaps)
{
@@ -1465,7 +1465,7 @@ qemuValidateDomainSmartcardDef(const virDomainSmartcardDef *def,
}
-int
+static int
qemuValidateDomainRNGDef(const virDomainRNGDef *def,
virQEMUCapsPtr qemuCaps G_GNUC_UNUSED)
{
@@ -1477,7 +1477,7 @@ qemuValidateDomainRNGDef(const virDomainRNGDef *def,
}
-int
+static int
qemuValidateDomainRedirdevDef(const virDomainRedirdevDef *def,
virQEMUCapsPtr qemuCaps)
{
@@ -1488,7 +1488,7 @@ qemuValidateDomainRedirdevDef(const virDomainRedirdevDef *def,
}
-int
+static int
qemuValidateDomainWatchdogDef(const virDomainWatchdogDef *dev,
const virDomainDef *def)
{
@@ -1667,7 +1667,7 @@ qemuValidateDomainMdevDef(const virDomainHostdevDef *hostdev,
}
-int
+static int
qemuValidateDomainDeviceDefHostdev(const virDomainHostdevDef *hostdev,
const virDomainDef *def,
virQEMUCapsPtr qemuCaps)
@@ -1724,7 +1724,7 @@ qemuValidateDomainDeviceDefHostdev(const virDomainHostdevDef
*hostdev,
}
-int
+static int
qemuValidateDomainDeviceDefVideo(const virDomainVideoDef *video,
virQEMUCapsPtr qemuCaps)
{
@@ -2671,7 +2671,7 @@ qemuValidateDomainDeviceDefControllerPCI(const
virDomainControllerDef *cont,
#undef virReportControllerMissingOption
-int
+static int
qemuValidateDomainDeviceDefController(const virDomainControllerDef *controller,
const virDomainDef *def,
virQEMUCapsPtr qemuCaps)
@@ -2795,7 +2795,7 @@ qemuValidateDomainDeviceDefSPICEGraphics(const virDomainGraphicsDef
*graphics,
}
-int
+static int
qemuValidateDomainDeviceDefGraphics(const virDomainGraphicsDef *graphics,
const virDomainDef *def,
virQEMUDriverPtr driver,
@@ -2938,7 +2938,7 @@ qemuValidateDomainDefVirtioFSSharedMemory(const virDomainDef *def)
}
-int
+static int
qemuValidateDomainDeviceDefFS(virDomainFSDefPtr fs,
const virDomainDef *def,
virQEMUDriverPtr driver,
@@ -3031,7 +3031,7 @@ qemuSoundCodecTypeToCaps(int type)
}
-int
+static int
qemuValidateDomainDeviceDefSound(virDomainSoundDefPtr sound,
virQEMUCapsPtr qemuCaps)
{
@@ -3090,7 +3090,7 @@ qemuValidateDomainDeviceDefSound(virDomainSoundDefPtr sound,
}
-int
+static int
qemuValidateDomainDeviceDefVsock(const virDomainVsockDef *vsock,
const virDomainDef *def,
virQEMUCapsPtr qemuCaps)
@@ -3110,7 +3110,7 @@ qemuValidateDomainDeviceDefVsock(const virDomainVsockDef *vsock,
}
-int
+static int
qemuValidateDomainDeviceDefTPM(virDomainTPMDef *tpm,
const virDomainDef *def,
virQEMUCapsPtr qemuCaps)
@@ -3190,7 +3190,7 @@ qemuValidateDomainDeviceDefTPM(virDomainTPMDef *tpm,
}
-int
+static int
qemuValidateDomainDeviceDefInput(const virDomainInputDef *input,
const virDomainDef *def,
virQEMUCapsPtr qemuCaps)
@@ -3283,7 +3283,7 @@ qemuValidateDomainDeviceDefInput(const virDomainInputDef *input,
}
-int
+static int
qemuValidateDomainDeviceDefMemballoon(const virDomainMemballoonDef *memballoon,
virQEMUCapsPtr qemuCaps)
{
@@ -3312,7 +3312,7 @@ qemuValidateDomainDeviceDefMemballoon(const virDomainMemballoonDef
*memballoon,
}
-int
+static int
qemuValidateDomainDeviceDefIOMMU(const virDomainIOMMUDef *iommu,
const virDomainDef *def,
virQEMUCapsPtr qemuCaps)
@@ -3397,7 +3397,7 @@ qemuValidateDomainDeviceDefIOMMU(const virDomainIOMMUDef *iommu,
}
-int
+static int
qemuValidateDomainDeviceDefNVRAM(virDomainNVRAMDefPtr nvram,
const virDomainDef *def,
virQEMUCapsPtr qemuCaps)
@@ -3430,7 +3430,7 @@ qemuValidateDomainDeviceDefNVRAM(virDomainNVRAMDefPtr nvram,
}
-int
+static int
qemuValidateDomainDeviceDefHub(virDomainHubDefPtr hub,
virQEMUCapsPtr qemuCaps)
{
@@ -3451,7 +3451,7 @@ qemuValidateDomainDeviceDefHub(virDomainHubDefPtr hub,
}
-int
+static int
qemuValidateDomainDeviceDefMemory(virDomainMemoryDefPtr mem,
virQEMUCapsPtr qemuCaps)
{
@@ -3464,3 +3464,129 @@ qemuValidateDomainDeviceDefMemory(virDomainMemoryDefPtr mem,
return 0;
}
+
+
+int
+qemuValidateDomainDeviceDef(const virDomainDeviceDef *dev,
+ const virDomainDef *def,
+ void *opaque)
+{
+ int ret = 0;
+ virQEMUDriverPtr driver = opaque;
+ g_autoptr(virQEMUCaps) qemuCaps = NULL;
+ g_autoptr(virDomainCaps) domCaps = NULL;
+
+ if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache,
+ def->emulator)))
+ return -1;
+
+ if (!(domCaps = virQEMUDriverGetDomainCapabilities(driver, qemuCaps,
+ def->os.machine,
+ def->os.arch,
+ def->virtType)))
+ return -1;
+
+ if ((ret = qemuValidateDomainDeviceDefAddress(dev, qemuCaps)) < 0)
+ return ret;
+
+ if ((ret = virDomainCapsDeviceDefValidate(domCaps, dev, def)) < 0)
+ return ret;
+
+ switch ((virDomainDeviceType)dev->type) {
+ case VIR_DOMAIN_DEVICE_NET:
+ ret =
qemuValidateDomainDeviceDefNetwork(dev->data.net, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_CHR:
+ ret = qemuValidateDomainChrDef(dev->data.chr, def, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_SMARTCARD:
+ ret = qemuValidateDomainSmartcardDef(dev->data.smartcard, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_RNG:
+ ret = qemuValidateDomainRNGDef(dev->data.rng, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_REDIRDEV:
+ ret = qemuValidateDomainRedirdevDef(dev->data.redirdev, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_WATCHDOG:
+ ret = qemuValidateDomainWatchdogDef(dev->data.watchdog, def);
+ break;
+
+ case VIR_DOMAIN_DEVICE_HOSTDEV:
+ ret = qemuValidateDomainDeviceDefHostdev(dev->data.hostdev, def,
+ qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_VIDEO:
+ ret = qemuValidateDomainDeviceDefVideo(dev->data.video, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_DISK:
+ ret = qemuValidateDomainDeviceDefDisk(dev->data.disk, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_CONTROLLER:
+ ret = qemuValidateDomainDeviceDefController(dev->data.controller, def,
+ qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_VSOCK:
+ ret = qemuValidateDomainDeviceDefVsock(dev->data.vsock, def, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_TPM:
+ ret = qemuValidateDomainDeviceDefTPM(dev->data.tpm, def, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_GRAPHICS:
+ ret = qemuValidateDomainDeviceDefGraphics(dev->data.graphics, def,
+ driver, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_INPUT:
+ ret = qemuValidateDomainDeviceDefInput(dev->data.input, def, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_MEMBALLOON:
+ ret = qemuValidateDomainDeviceDefMemballoon(dev->data.memballoon, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_IOMMU:
+ ret = qemuValidateDomainDeviceDefIOMMU(dev->data.iommu, def, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_FS:
+ ret = qemuValidateDomainDeviceDefFS(dev->data.fs, def, driver, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_NVRAM:
+ ret = qemuValidateDomainDeviceDefNVRAM(dev->data.nvram, def, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_HUB:
+ ret = qemuValidateDomainDeviceDefHub(dev->data.hub, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_SOUND:
+ ret = qemuValidateDomainDeviceDefSound(dev->data.sound, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_MEMORY:
+ ret = qemuValidateDomainDeviceDefMemory(dev->data.memory, qemuCaps);
+ break;
+
+ case VIR_DOMAIN_DEVICE_LEASE:
+ case VIR_DOMAIN_DEVICE_SHMEM:
+ case VIR_DOMAIN_DEVICE_PANIC:
+ case VIR_DOMAIN_DEVICE_NONE:
+ case VIR_DOMAIN_DEVICE_LAST:
+ break;
+ }
+
+ return ret;
+}
diff --git a/src/qemu/qemu_validate.h b/src/qemu/qemu_validate.h
index ac4eb9b772..f667a57195 100644
--- a/src/qemu/qemu_validate.h
+++ b/src/qemu/qemu_validate.h
@@ -29,57 +29,6 @@
int qemuValidateDomainDef(const virDomainDef *def, void *opaque);
int qemuValidateDomainDeviceDefDisk(const virDomainDiskDef *disk,
virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefAddress(const virDomainDeviceDef *dev,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefNetwork(const virDomainNetDef *net,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainChrDef(const virDomainChrDef *dev,
- const virDomainDef *def,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainSmartcardDef(const virDomainSmartcardDef *def,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainRNGDef(const virDomainRNGDef *def,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainRedirdevDef(const virDomainRedirdevDef *def,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainWatchdogDef(const virDomainWatchdogDef *dev,
- const virDomainDef *def);
-int qemuValidateDomainDeviceDefHostdev(const virDomainHostdevDef *hostdev,
- const virDomainDef *def,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefVideo(const virDomainVideoDef *video,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefController(const virDomainControllerDef *controller,
- const virDomainDef *def,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefGraphics(const virDomainGraphicsDef *graphics,
- const virDomainDef *def,
- virQEMUDriverPtr driver,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefFS(virDomainFSDefPtr fs,
- const virDomainDef *def,
- virQEMUDriverPtr driver,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefSound(virDomainSoundDefPtr sound,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefVsock(const virDomainVsockDef *vsock,
- const virDomainDef *def,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefTPM(virDomainTPMDef *tpm,
- const virDomainDef *def,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefInput(const virDomainInputDef *input,
- const virDomainDef *def,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefMemballoon(const virDomainMemballoonDef *memballoon,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefIOMMU(const virDomainIOMMUDef *iommu,
- const virDomainDef *def,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefMemory(virDomainMemoryDefPtr mem,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefHub(virDomainHubDefPtr hub,
- virQEMUCapsPtr qemuCaps);
-int qemuValidateDomainDeviceDefNVRAM(virDomainNVRAMDefPtr nvram,
- const virDomainDef *def,
- virQEMUCapsPtr qemuCaps);
+int qemuValidateDomainDeviceDef(const virDomainDeviceDef *dev,
+ const virDomainDef *def,
+ void *opaque);
--
2.25.1