]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: Skip post parse callbacks when creating copy
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 20 Sep 2016 12:21:26 +0000 (14:21 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 26 Sep 2016 14:50:12 +0000 (16:50 +0200)
When creating a copy of virDomainDef we save ourselves the
trouble of writing deep-copy functions and just format and parse
back domain/device XML. However, the XML we are parsing was
already fully formatted - there is no reason to run post parse
callbacks (which fill in blanks - there are none!).

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/domain_conf.c
src/qemu/qemu_domain.c

index a8c4999b9e643a86d917f4381e881d896973f35b..a06da46fabe489b7d9817b1852e03eca2517519f 100644 (file)
@@ -24680,7 +24680,8 @@ virDomainDefCopy(virDomainDefPtr src,
     virDomainDefPtr ret;
     unsigned int format_flags = VIR_DOMAIN_DEF_FORMAT_SECURE;
     unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE |
-                               VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE;
+                               VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE |
+                               VIR_DOMAIN_DEF_PARSE_SKIP_POST_PARSE;
 
     if (migratable)
         format_flags |= VIR_DOMAIN_DEF_FORMAT_INACTIVE | VIR_DOMAIN_DEF_FORMAT_MIGRATABLE;
@@ -25167,7 +25168,8 @@ virDomainDeviceDefCopy(virDomainDeviceDefPtr src,
     xmlStr = virBufferContentAndReset(&buf);
     ret = virDomainDeviceDefParse(xmlStr, def, caps, xmlopt,
                                   VIR_DOMAIN_DEF_PARSE_INACTIVE |
-                                  VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE);
+                                  VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE |
+                                  VIR_DOMAIN_DEF_PARSE_SKIP_POST_PARSE);
 
  cleanup:
     VIR_FREE(xmlStr);
index 2b24c01112d1cb1917e052754ffebd77f3abc423..9b1a32ec389783a0e5b9077720ac5024733cf7eb 100644 (file)
@@ -3380,7 +3380,8 @@ qemuDomainDefCopy(virQEMUDriverPtr driver,
 
     if (!(ret = virDomainDefParseString(xml, caps, driver->xmlopt, NULL,
                                         VIR_DOMAIN_DEF_PARSE_INACTIVE |
-                                        VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE)))
+                                        VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE |
+                                        VIR_DOMAIN_DEF_PARSE_SKIP_POST_PARSE)))
         goto cleanup;
 
  cleanup: