]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Introduce virDomainVideoDefPostParse()
authorAndrea Bolognani <abologna@redhat.com>
Fri, 15 Feb 2019 11:17:06 +0000 (12:17 +0100)
committerAndrea Bolognani <abologna@redhat.com>
Fri, 15 Feb 2019 13:58:40 +0000 (14:58 +0100)
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/domain_conf.c

index 8f27acc49e56dbf43bd1f2b2227d1bcf9d63782c..a5ed9ddf3a1e94cbd1b9fc5e7f8da850101fb6c6 100644 (file)
@@ -4900,6 +4900,23 @@ virDomainDiskDefPostParse(virDomainDiskDefPtr disk,
 }
 
 
+static int
+virDomainVideoDefPostParse(virDomainVideoDefPtr video,
+                           const virDomainDef *def)
+{
+    /* Fill out (V)RAM if the driver-specific callback did not do so */
+    if (video->ram == 0 && video->type == VIR_DOMAIN_VIDEO_TYPE_QXL)
+        video->ram = virDomainVideoDefaultRAM(def, video->type);
+    if (video->vram == 0)
+        video->vram = virDomainVideoDefaultRAM(def, video->type);
+
+    video->ram = VIR_ROUND_UP_POWER_OF_TWO(video->ram);
+    video->vram = VIR_ROUND_UP_POWER_OF_TWO(video->vram);
+
+    return 0;
+}
+
+
 static int
 virDomainVsockDefPostParse(virDomainVsockDefPtr vsock)
 {
@@ -4930,17 +4947,8 @@ virDomainDeviceDefPostParseCommon(virDomainDeviceDefPtr dev,
     if (dev->type == VIR_DOMAIN_DEVICE_DISK)
         return virDomainDiskDefPostParse(dev->data.disk, def, xmlopt);
 
-    if (dev->type == VIR_DOMAIN_DEVICE_VIDEO) {
-        virDomainVideoDefPtr video = dev->data.video;
-        /* Fill out (V)RAM if the driver-specific callback did not do so */
-        if (video->ram == 0 && video->type == VIR_DOMAIN_VIDEO_TYPE_QXL)
-            video->ram = virDomainVideoDefaultRAM(def, video->type);
-        if (video->vram == 0)
-            video->vram = virDomainVideoDefaultRAM(def, video->type);
-
-        video->ram = VIR_ROUND_UP_POWER_OF_TWO(video->ram);
-        video->vram = VIR_ROUND_UP_POWER_OF_TWO(video->vram);
-    }
+    if (dev->type == VIR_DOMAIN_DEVICE_VIDEO)
+        return virDomainVideoDefPostParse(dev->data.video, def);
 
     if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV &&
         virDomainHostdevDefPostParse(dev->data.hostdev, def, xmlopt) < 0)