]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
domain_conf.c: move virDomainDeviceDefValidate() to domain_validate.c
authorDaniel Henrique Barboza <danielhb413@gmail.com>
Fri, 11 Dec 2020 12:27:17 +0000 (09:27 -0300)
committerDaniel Henrique Barboza <danielhb413@gmail.com>
Mon, 14 Dec 2020 12:36:04 +0000 (09:36 -0300)
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
src/conf/domain_conf.c
src/conf/domain_conf.h
src/conf/domain_validate.c
src/conf/domain_validate.h

index ebe895948f4ea28f491fa51ea4acc8ad02f2f6d9..26c48ef38cb33b73b816288afb91b6349072a96d 100644 (file)
@@ -6022,94 +6022,6 @@ virDomainDefHasUSB(const virDomainDef *def)
 }
 
 
-static int
-virDomainDeviceDefValidateInternal(const virDomainDeviceDef *dev,
-                                   const virDomainDef *def)
-{
-    switch ((virDomainDeviceType) dev->type) {
-    case VIR_DOMAIN_DEVICE_DISK:
-        return virDomainDiskDefValidate(def, dev->data.disk);
-
-    case VIR_DOMAIN_DEVICE_REDIRDEV:
-        return virDomainRedirdevDefValidate(def, dev->data.redirdev);
-
-    case VIR_DOMAIN_DEVICE_NET:
-        return virDomainNetDefValidate(dev->data.net);
-
-    case VIR_DOMAIN_DEVICE_CONTROLLER:
-        return virDomainControllerDefValidate(dev->data.controller);
-
-    case VIR_DOMAIN_DEVICE_CHR:
-        return virDomainChrDefValidate(dev->data.chr, def);
-
-    case VIR_DOMAIN_DEVICE_SMARTCARD:
-        return virDomainSmartcardDefValidate(dev->data.smartcard, def);
-
-    case VIR_DOMAIN_DEVICE_RNG:
-        return virDomainRNGDefValidate(dev->data.rng, def);
-
-    case VIR_DOMAIN_DEVICE_HOSTDEV:
-        return virDomainHostdevDefValidate(dev->data.hostdev);
-
-    case VIR_DOMAIN_DEVICE_VIDEO:
-        return virDomainVideoDefValidate(dev->data.video, def);
-
-    case VIR_DOMAIN_DEVICE_MEMORY:
-        return virDomainMemoryDefValidate(dev->data.memory, def);
-
-    case VIR_DOMAIN_DEVICE_VSOCK:
-        return virDomainVsockDefValidate(dev->data.vsock);
-
-    case VIR_DOMAIN_DEVICE_INPUT:
-        return virDomainInputDefValidate(dev->data.input);
-
-    case VIR_DOMAIN_DEVICE_SHMEM:
-        return virDomainShmemDefValidate(dev->data.shmem);
-
-    case VIR_DOMAIN_DEVICE_AUDIO:
-        /* TODO: validate? */
-    case VIR_DOMAIN_DEVICE_LEASE:
-    case VIR_DOMAIN_DEVICE_FS:
-    case VIR_DOMAIN_DEVICE_SOUND:
-    case VIR_DOMAIN_DEVICE_WATCHDOG:
-    case VIR_DOMAIN_DEVICE_GRAPHICS:
-    case VIR_DOMAIN_DEVICE_HUB:
-    case VIR_DOMAIN_DEVICE_MEMBALLOON:
-    case VIR_DOMAIN_DEVICE_NVRAM:
-    case VIR_DOMAIN_DEVICE_TPM:
-    case VIR_DOMAIN_DEVICE_PANIC:
-    case VIR_DOMAIN_DEVICE_IOMMU:
-    case VIR_DOMAIN_DEVICE_NONE:
-    case VIR_DOMAIN_DEVICE_LAST:
-        break;
-    }
-
-    return 0;
-}
-
-
-int
-virDomainDeviceDefValidate(const virDomainDeviceDef *dev,
-                           const virDomainDef *def,
-                           unsigned int parseFlags,
-                           virDomainXMLOptionPtr xmlopt,
-                           void *parseOpaque)
-{
-    /* validate configuration only in certain places */
-    if (parseFlags & VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE)
-        return 0;
-
-    if (xmlopt->config.deviceValidateCallback &&
-        xmlopt->config.deviceValidateCallback(dev, def, xmlopt->config.priv, parseOpaque))
-        return -1;
-
-    if (virDomainDeviceDefValidateInternal(dev, def) < 0)
-        return -1;
-
-    return 0;
-}
-
-
 bool
 virDomainDefLifecycleActionAllowed(virDomainLifecycle type,
                                    virDomainLifecycleAction action)
index e35c4206df987f57469b5de523cd56822ca579b9..ce8ed48a049d1aa7257f6a6738f9181a0a6922cb 100644 (file)
@@ -3122,11 +3122,7 @@ void virDomainRedirdevDefFree(virDomainRedirdevDefPtr def);
 void virDomainRedirFilterDefFree(virDomainRedirFilterDefPtr def);
 void virDomainShmemDefFree(virDomainShmemDefPtr def);
 void virDomainDeviceDefFree(virDomainDeviceDefPtr def);
-int virDomainDeviceDefValidate(const virDomainDeviceDef *dev,
-                               const virDomainDef *def,
-                               unsigned int parseFlags,
-                               virDomainXMLOptionPtr xmlopt,
-                               void *parseOpaque);
+
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainDeviceDef, virDomainDeviceDefFree);
 virDomainDeviceDefPtr virDomainDeviceDefCopy(virDomainDeviceDefPtr src,
                                              const virDomainDef *def,
index 856b34fcbbaf71f6132cea1ba1316f66f044fe42..5ec56e411a5d95317c501335f9ba5a5831f8d0d7 100644 (file)
@@ -1471,3 +1471,91 @@ virDomainShmemDefValidate(const virDomainShmemDef *shmem)
 
     return 0;
 }
+
+
+static int
+virDomainDeviceDefValidateInternal(const virDomainDeviceDef *dev,
+                                   const virDomainDef *def)
+{
+    switch ((virDomainDeviceType) dev->type) {
+    case VIR_DOMAIN_DEVICE_DISK:
+        return virDomainDiskDefValidate(def, dev->data.disk);
+
+    case VIR_DOMAIN_DEVICE_REDIRDEV:
+        return virDomainRedirdevDefValidate(def, dev->data.redirdev);
+
+    case VIR_DOMAIN_DEVICE_NET:
+        return virDomainNetDefValidate(dev->data.net);
+
+    case VIR_DOMAIN_DEVICE_CONTROLLER:
+        return virDomainControllerDefValidate(dev->data.controller);
+
+    case VIR_DOMAIN_DEVICE_CHR:
+        return virDomainChrDefValidate(dev->data.chr, def);
+
+    case VIR_DOMAIN_DEVICE_SMARTCARD:
+        return virDomainSmartcardDefValidate(dev->data.smartcard, def);
+
+    case VIR_DOMAIN_DEVICE_RNG:
+        return virDomainRNGDefValidate(dev->data.rng, def);
+
+    case VIR_DOMAIN_DEVICE_HOSTDEV:
+        return virDomainHostdevDefValidate(dev->data.hostdev);
+
+    case VIR_DOMAIN_DEVICE_VIDEO:
+        return virDomainVideoDefValidate(dev->data.video, def);
+
+    case VIR_DOMAIN_DEVICE_MEMORY:
+        return virDomainMemoryDefValidate(dev->data.memory, def);
+
+    case VIR_DOMAIN_DEVICE_VSOCK:
+        return virDomainVsockDefValidate(dev->data.vsock);
+
+    case VIR_DOMAIN_DEVICE_INPUT:
+        return virDomainInputDefValidate(dev->data.input);
+
+    case VIR_DOMAIN_DEVICE_SHMEM:
+        return virDomainShmemDefValidate(dev->data.shmem);
+
+    case VIR_DOMAIN_DEVICE_AUDIO:
+        /* TODO: validate? */
+    case VIR_DOMAIN_DEVICE_LEASE:
+    case VIR_DOMAIN_DEVICE_FS:
+    case VIR_DOMAIN_DEVICE_SOUND:
+    case VIR_DOMAIN_DEVICE_WATCHDOG:
+    case VIR_DOMAIN_DEVICE_GRAPHICS:
+    case VIR_DOMAIN_DEVICE_HUB:
+    case VIR_DOMAIN_DEVICE_MEMBALLOON:
+    case VIR_DOMAIN_DEVICE_NVRAM:
+    case VIR_DOMAIN_DEVICE_TPM:
+    case VIR_DOMAIN_DEVICE_PANIC:
+    case VIR_DOMAIN_DEVICE_IOMMU:
+    case VIR_DOMAIN_DEVICE_NONE:
+    case VIR_DOMAIN_DEVICE_LAST:
+        break;
+    }
+
+    return 0;
+}
+
+
+int
+virDomainDeviceDefValidate(const virDomainDeviceDef *dev,
+                           const virDomainDef *def,
+                           unsigned int parseFlags,
+                           virDomainXMLOptionPtr xmlopt,
+                           void *parseOpaque)
+{
+    /* validate configuration only in certain places */
+    if (parseFlags & VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE)
+        return 0;
+
+    if (xmlopt->config.deviceValidateCallback &&
+        xmlopt->config.deviceValidateCallback(dev, def, xmlopt->config.priv, parseOpaque))
+        return -1;
+
+    if (virDomainDeviceDefValidateInternal(dev, def) < 0)
+        return -1;
+
+    return 0;
+}
index 49e4ce93c77a2ad43223b21e3478ac117be39e4e..fa6c45abf9f37d6bc46220939663402f6616c7ed 100644 (file)
@@ -53,3 +53,8 @@ int virDomainMemoryDefValidate(const virDomainMemoryDef *mem,
 int virDomainVsockDefValidate(const virDomainVsockDef *vsock);
 int virDomainInputDefValidate(const virDomainInputDef *input);
 int virDomainShmemDefValidate(const virDomainShmemDef *shmem);
+int virDomainDeviceDefValidate(const virDomainDeviceDef *dev,
+                               const virDomainDef *def,
+                               unsigned int parseFlags,
+                               virDomainXMLOptionPtr xmlopt,
+                               void *parseOpaque);