]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Move disk target 'ioemu:' stripping to virDomainDiskDefPostParse
authorPeter Krempa <pkrempa@redhat.com>
Wed, 14 Apr 2021 07:59:22 +0000 (09:59 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 19 Apr 2021 12:43:59 +0000 (14:43 +0200)
Modifications of the data such as this one don't belong into the parser.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/domain_conf.c

index ce0931c1607c52776ac49d31da38795bfac9376a..2803055204bf0402d753b701b89d08cdfb8fdee0 100644 (file)
@@ -5367,6 +5367,16 @@ virDomainDiskDefPostParse(virDomainDiskDef *disk,
                           const virDomainDef *def,
                           virDomainXMLOption *xmlopt)
 {
+    if (disk->dst) {
+        char *newdst;
+
+        /* Work around for compat with Xen driver in previous libvirt releases */
+        if ((newdst = g_strdup(STRSKIP(disk->dst, "ioemu:")))) {
+            g_free(disk->dst);
+            disk->dst = newdst;
+        }
+    }
+
     if (disk->src->type == VIR_STORAGE_TYPE_NETWORK &&
         disk->src->protocol == VIR_STORAGE_NET_PROTOCOL_ISCSI) {
         virDomainPostParseCheckISCSIPath(&disk->src->path);
@@ -9345,12 +9355,6 @@ virDomainDiskDefParseXML(virDomainXMLOption *xmlopt,
                 return NULL;
             removable = virXMLPropString(cur, "removable");
             rotation_rate = virXMLPropString(cur, "rotation_rate");
-
-            /* HACK: Work around for compat with Xen
-             * driver in previous libvirt releases */
-            if (target &&
-                STRPREFIX(target, "ioemu:"))
-                memmove(target, target+6, strlen(target)-5);
         } else if (!domain_name &&
                    virXMLNodeNameEqual(cur, "backenddomain")) {
             domain_name = virXMLPropString(cur, "name");