]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: Pass xmlopt to virDomainSnapshotDefFormat
authorJiri Denemark <jdenemar@redhat.com>
Thu, 1 Jun 2017 22:27:33 +0000 (00:27 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Wed, 7 Jun 2017 11:36:01 +0000 (13:36 +0200)
This will be used later when a save cookie will become part of the
snapshot XML using new driver specific parser/formatter functions.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
src/conf/snapshot_conf.c
src/conf/snapshot_conf.h
src/esx/esx_driver.c
src/qemu/qemu_domain.c
src/qemu/qemu_domain.h
src/qemu/qemu_driver.c
src/test/test_driver.c
src/vbox/vbox_common.c
src/vz/vz_driver.c
tests/domainsnapshotxml2xmltest.c

index 7daa9b22ad6b7628647acfd97c5b81e04290d4d7..e3bba985d768094d55f8ce6b16e6fcec39b6bef9 100644 (file)
@@ -691,6 +691,7 @@ char *
 virDomainSnapshotDefFormat(const char *domain_uuid,
                            virDomainSnapshotDefPtr def,
                            virCapsPtr caps,
+                           virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED,
                            unsigned int flags,
                            int internal)
 {
index da904f946001b06e52f9ea2210e1cc810b662af4..2ce526fa6b8cfdea4d72dae75fc7e101f0ef25e5 100644 (file)
@@ -114,6 +114,7 @@ void virDomainSnapshotDefFree(virDomainSnapshotDefPtr def);
 char *virDomainSnapshotDefFormat(const char *domain_uuid,
                                  virDomainSnapshotDefPtr def,
                                  virCapsPtr caps,
+                                 virDomainXMLOptionPtr xmlopt,
                                  unsigned int flags,
                                  int internal);
 int virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr snapshot,
index 6333855c7e4a8e2374cf69ce98d786b5e3a9ebcc..1f4f2c7a757b7ff66335a460609669d2ac4b5620 100644 (file)
@@ -4265,7 +4265,7 @@ esxDomainSnapshotGetXMLDesc(virDomainSnapshotPtr snapshot,
 
     virUUIDFormat(snapshot->domain->uuid, uuid_string);
 
-    xml = virDomainSnapshotDefFormat(uuid_string, &def, priv->caps,
+    xml = virDomainSnapshotDefFormat(uuid_string, &def, priv->caps, priv->xmlopt,
                                      virDomainDefFormatConvertXMLFlags(flags),
                                      0);
 
index 6986324897c80831e29f57bb5469fd4d2aad43ae..814232164ab4b103855cb0be9e86d56b7b760567 100644 (file)
@@ -4820,6 +4820,7 @@ int
 qemuDomainSnapshotWriteMetadata(virDomainObjPtr vm,
                                 virDomainSnapshotObjPtr snapshot,
                                 virCapsPtr caps,
+                                virDomainXMLOptionPtr xmlopt,
                                 char *snapshotDir)
 {
     char *newxml = NULL;
@@ -4830,7 +4831,7 @@ qemuDomainSnapshotWriteMetadata(virDomainObjPtr vm,
 
     virUUIDFormat(vm->def->uuid, uuidstr);
     newxml = virDomainSnapshotDefFormat(
-        uuidstr, snapshot->def, caps,
+        uuidstr, snapshot->def, caps, xmlopt,
         virDomainDefFormatConvertXMLFlags(QEMU_DOMAIN_FORMAT_LIVE_FLAGS),
         1);
     if (newxml == NULL)
@@ -4991,6 +4992,7 @@ qemuDomainSnapshotDiscard(virQEMUDriverPtr driver,
             } else {
                 parentsnap->def->current = true;
                 if (qemuDomainSnapshotWriteMetadata(vm, parentsnap, driver->caps,
+                                                    driver->xmlopt,
                                                     cfg->snapshotDir) < 0) {
                     VIR_WARN("failed to set parent snapshot '%s' as current",
                              snap->def->parent);
index 829f7746e7113f722600da70f7f309ca5317745e..d0e2e0628f84e6f2b2b711135734b367bb778c73 100644 (file)
@@ -555,6 +555,7 @@ const char *qemuFindQemuImgBinary(virQEMUDriverPtr driver);
 int qemuDomainSnapshotWriteMetadata(virDomainObjPtr vm,
                                     virDomainSnapshotObjPtr snapshot,
                                     virCapsPtr caps,
+                                    virDomainXMLOptionPtr xmlopt,
                                     char *snapshotDir);
 
 int qemuDomainSnapshotForEachQcow2(virQEMUDriverPtr driver,
index 29efda198073b9ef45a197e421ba1ae4affd9a37..2ad3b787c6f3fd4726a9a8255f0ce9684ee4e707 100644 (file)
@@ -14649,7 +14649,7 @@ qemuDomainSnapshotCreateXML(virDomainPtr domain,
         if (update_current) {
             vm->current_snapshot->def->current = false;
             if (qemuDomainSnapshotWriteMetadata(vm, vm->current_snapshot,
-                                                driver->caps,
+                                                driver->caps, driver->xmlopt,
                                                 cfg->snapshotDir) < 0)
                 goto endjob;
             vm->current_snapshot = NULL;
@@ -14699,6 +14699,7 @@ qemuDomainSnapshotCreateXML(virDomainPtr domain,
  endjob:
     if (snapshot && !(flags & VIR_DOMAIN_SNAPSHOT_CREATE_NO_METADATA)) {
         if (qemuDomainSnapshotWriteMetadata(vm, snap, driver->caps,
+                                            driver->xmlopt,
                                             cfg->snapshotDir) < 0) {
             /* if writing of metadata fails, error out rather than trying
              * to silently carry on without completing the snapshot */
@@ -15036,7 +15037,8 @@ qemuDomainSnapshotGetXMLDesc(virDomainSnapshotPtr snapshot,
 
     virUUIDFormat(snapshot->domain->uuid, uuidstr);
 
-    xml = virDomainSnapshotDefFormat(uuidstr, snap->def, driver->caps,
+    xml = virDomainSnapshotDefFormat(uuidstr, snap->def,
+                                     driver->caps, driver->xmlopt,
                                      virDomainDefFormatConvertXMLFlags(flags),
                                      0);
 
@@ -15218,7 +15220,8 @@ qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
     if (vm->current_snapshot) {
         vm->current_snapshot->def->current = false;
         if (qemuDomainSnapshotWriteMetadata(vm, vm->current_snapshot,
-                                            driver->caps, cfg->snapshotDir) < 0)
+                                            driver->caps, driver->xmlopt,
+                                            cfg->snapshotDir) < 0)
             goto endjob;
         vm->current_snapshot = NULL;
         /* XXX Should we restore vm->current_snapshot after this point
@@ -15458,6 +15461,7 @@ qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
  cleanup:
     if (ret == 0) {
         if (qemuDomainSnapshotWriteMetadata(vm, snap, driver->caps,
+                                            driver->xmlopt,
                                             cfg->snapshotDir) < 0)
             ret = -1;
         else
@@ -15494,6 +15498,7 @@ struct _virQEMUSnapReparent {
     virDomainSnapshotObjPtr parent;
     virDomainObjPtr vm;
     virCapsPtr caps;
+    virDomainXMLOptionPtr xmlopt;
     int err;
     virDomainSnapshotObjPtr last;
 };
@@ -15522,7 +15527,8 @@ qemuDomainSnapshotReparentChildren(void *payload,
     if (!snap->sibling)
         rep->last = snap;
 
-    rep->err = qemuDomainSnapshotWriteMetadata(rep->vm, snap, rep->caps,
+    rep->err = qemuDomainSnapshotWriteMetadata(rep->vm, snap,
+                                               rep->caps, rep->xmlopt,
                                                rep->cfg->snapshotDir);
     return 0;
 }
@@ -15593,6 +15599,7 @@ qemuDomainSnapshotDelete(virDomainSnapshotPtr snapshot,
             if (flags & VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN_ONLY) {
                 snap->def->current = true;
                 if (qemuDomainSnapshotWriteMetadata(vm, snap, driver->caps,
+                                                    driver->xmlopt,
                                                     cfg->snapshotDir) < 0) {
                     virReportError(VIR_ERR_INTERNAL_ERROR,
                                    _("failed to set snapshot '%s' as current"),
@@ -15610,6 +15617,7 @@ qemuDomainSnapshotDelete(virDomainSnapshotPtr snapshot,
         rep.err = 0;
         rep.last = NULL;
         rep.caps = driver->caps;
+        rep.xmlopt = driver->xmlopt;
         virDomainSnapshotForEachChild(snap,
                                       qemuDomainSnapshotReparentChildren,
                                       &rep);
index 338b7d35dd8f56dc03f2e972aa04cc950d4af3e1..8cecc6add0b0cf9f5a47db58b6914a68ba719d3e 100644 (file)
@@ -6235,6 +6235,7 @@ testDomainSnapshotGetXMLDesc(virDomainSnapshotPtr snapshot,
     virUUIDFormat(snapshot->domain->uuid, uuidstr);
 
     xml = virDomainSnapshotDefFormat(uuidstr, snap->def, privconn->caps,
+                                     privconn->xmlopt,
                                      virDomainDefFormatConvertXMLFlags(flags),
                                      0);
 
index c66939e01060b4cae7d89802824afc7de739af13..1a90d00aa44ade6d2c078de459eb23ce068485d2 100644 (file)
@@ -5105,7 +5105,7 @@ vboxSnapshotRedefine(virDomainPtr dom,
         VIR_FREE(currentSnapshotXmlFilePath);
         if (virAsprintf(&currentSnapshotXmlFilePath, "%s%s.xml", machineLocationPath, snapshotMachineDesc->currentSnapshot) < 0)
             goto cleanup;
-        char *snapshotContent = virDomainSnapshotDefFormat(NULL, def, data->caps, VIR_DOMAIN_DEF_FORMAT_SECURE, 0);
+        char *snapshotContent = virDomainSnapshotDefFormat(NULL, def, data->caps, data->xmlopt, VIR_DOMAIN_DEF_FORMAT_SECURE, 0);
         if (snapshotContent == NULL) {
             virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                            _("Unable to get snapshot content"));
@@ -6027,7 +6027,7 @@ static char *vboxDomainSnapshotGetXMLDesc(virDomainSnapshotPtr snapshot,
 
     virUUIDFormat(dom->uuid, uuidstr);
     memcpy(def->dom->uuid, dom->uuid, VIR_UUID_BUFLEN);
-    ret = virDomainSnapshotDefFormat(uuidstr, def, data->caps,
+    ret = virDomainSnapshotDefFormat(uuidstr, def, data->caps, data->xmlopt,
                                       virDomainDefFormatConvertXMLFlags(flags),
                                       0);
 
index 2c021884f1c207fe7d220af997d79e9df17b1d21..e6bb201827ee5af6a5cb013e4b02964d0acc7752 100644 (file)
@@ -2303,6 +2303,7 @@ vzDomainSnapshotGetXMLDesc(virDomainSnapshotPtr snapshot, unsigned int flags)
     virUUIDFormat(snapshot->domain->uuid, uuidstr);
 
     xml = virDomainSnapshotDefFormat(uuidstr, snap->def, privconn->driver->caps,
+                                     privconn->driver->xmlopt,
                                      virDomainDefFormatConvertXMLFlags(flags),
                                      0);
 
index bb4d60f7daede7d4bdb3a3ccb15e976066aa401a..3a6f86b4a3069179c01cd2d6c41dee9d3ccc7e26 100644 (file)
@@ -101,6 +101,7 @@ testCompareXMLToXMLFiles(const char *inxml,
         goto cleanup;
 
     if (!(actual = virDomainSnapshotDefFormat(uuid, def, driver.caps,
+                                              driver.xmlopt,
                                               VIR_DOMAIN_DEF_FORMAT_SECURE,
                                               internal)))
         goto cleanup;