]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: snapshot: Remove VIR_DOMAIN_SNAPSHOT_PARSE_DISKS flag
authorPeter Krempa <pkrempa@redhat.com>
Tue, 8 Mar 2022 17:20:46 +0000 (18:20 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 11 Mar 2022 12:55:50 +0000 (13:55 +0100)
All callers except the one in the 'esx' driver pass the flag. The 'esx'
driver has a check that 'def->ndisks' is zero after parsing the
definition. This means that we can simply always parse the disks.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/snapshot_conf.c
src/conf/snapshot_conf.h
src/qemu/qemu_driver.c
src/qemu/qemu_snapshot.c
src/test/test_driver.c
src/vbox/vbox_common.c
src/vz/vz_driver.c
tests/qemudomainsnapshotxml2xmltest.c

index f5ae2ee21279a964263a095f2f4e7ab2ed058dd7..f477b677850160a24ce4f5d825e3dcbefbc7b94a 100644 (file)
@@ -359,21 +359,15 @@ virDomainSnapshotDefParse(xmlXPathContextPtr ctxt,
 
     if ((n = virXPathNodeSet("./disks/*", ctxt, &nodes)) < 0)
         goto cleanup;
-    if (flags & VIR_DOMAIN_SNAPSHOT_PARSE_DISKS) {
-        if (n)
-            def->disks = g_new0(virDomainSnapshotDiskDef, n);
-        def->ndisks = n;
-        for (i = 0; i < def->ndisks; i++) {
-            if (virDomainSnapshotDiskDefParseXML(nodes[i], ctxt, &def->disks[i],
-                                                 flags, xmlopt) < 0)
-                goto cleanup;
-        }
-        VIR_FREE(nodes);
-    } else if (n) {
-        virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
-                       _("unable to handle disk requests in snapshot"));
-        goto cleanup;
+    if (n)
+        def->disks = g_new0(virDomainSnapshotDiskDef, n);
+    def->ndisks = n;
+    for (i = 0; i < def->ndisks; i++) {
+        if (virDomainSnapshotDiskDefParseXML(nodes[i], ctxt, &def->disks[i],
+                                             flags, xmlopt) < 0)
+            goto cleanup;
     }
+    VIR_FREE(nodes);
 
     if (flags & VIR_DOMAIN_SNAPSHOT_PARSE_INTERNAL) {
         if (!current) {
index b7e0d441ff9e3ac20d2b60db9befe5c48fdbb3a9..8823af1ac16b6b6ddf4b3ab82c8caa8e8586e5d2 100644 (file)
@@ -84,10 +84,9 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainSnapshotDef, virObjectUnref);
 
 typedef enum {
     VIR_DOMAIN_SNAPSHOT_PARSE_REDEFINE = 1 << 0,
-    VIR_DOMAIN_SNAPSHOT_PARSE_DISKS    = 1 << 1,
-    VIR_DOMAIN_SNAPSHOT_PARSE_INTERNAL = 1 << 2,
-    VIR_DOMAIN_SNAPSHOT_PARSE_OFFLINE  = 1 << 3,
-    VIR_DOMAIN_SNAPSHOT_PARSE_VALIDATE = 1 << 4,
+    VIR_DOMAIN_SNAPSHOT_PARSE_INTERNAL = 1 << 1,
+    VIR_DOMAIN_SNAPSHOT_PARSE_OFFLINE  = 1 << 2,
+    VIR_DOMAIN_SNAPSHOT_PARSE_VALIDATE = 1 << 3,
 } virDomainSnapshotParseFlags;
 
 typedef enum {
index c1b3bd8536dad6fa64cb745f09fb013091f14d5d..de7d2b93b950549fb804d959daa5701d09aa1271 100644 (file)
@@ -347,7 +347,6 @@ qemuDomainSnapshotLoad(virDomainObj *vm,
     virDomainMomentObj *current = NULL;
     bool cur;
     unsigned int flags = (VIR_DOMAIN_SNAPSHOT_PARSE_REDEFINE |
-                          VIR_DOMAIN_SNAPSHOT_PARSE_DISKS |
                           VIR_DOMAIN_SNAPSHOT_PARSE_INTERNAL);
     int ret = -1;
     int direrr;
index c5fc7dcf678c2cf90a0b1197ea83cd892b2ca059..3fb1d3abe01ceae167401683240409c4280290e3 100644 (file)
@@ -1530,7 +1530,7 @@ qemuSnapshotCreateXMLParse(virDomainObj *vm,
                            unsigned int flags)
 {
     qemuDomainObjPrivate *priv = vm->privateData;
-    unsigned int parse_flags = VIR_DOMAIN_SNAPSHOT_PARSE_DISKS;
+    unsigned int parse_flags = 0;
 
     if (flags & VIR_DOMAIN_SNAPSHOT_CREATE_REDEFINE)
         parse_flags |= VIR_DOMAIN_SNAPSHOT_PARSE_REDEFINE;
index da1c6c8f6e297546ce2825e36f78f2353620a51f..9ceb0b45c81a928cdbb54e1c0c1a2d3ecc62ab27 100644 (file)
@@ -978,7 +978,6 @@ testParseDomainSnapshots(testDriver *privconn,
                                             privconn->xmlopt,
                                             NULL,
                                             &cur,
-                                            VIR_DOMAIN_SNAPSHOT_PARSE_DISKS |
                                             VIR_DOMAIN_SNAPSHOT_PARSE_INTERNAL |
                                             VIR_DOMAIN_SNAPSHOT_PARSE_REDEFINE);
         if (!def)
@@ -8777,7 +8776,7 @@ testDomainSnapshotCreateXML(virDomainPtr domain,
     virObjectEvent *event = NULL;
     bool update_current = true;
     bool redefine = flags & VIR_DOMAIN_SNAPSHOT_CREATE_REDEFINE;
-    unsigned int parse_flags = VIR_DOMAIN_SNAPSHOT_PARSE_DISKS;
+    unsigned int parse_flags = 0;
     g_autoptr(virDomainSnapshotDef) def = NULL;
 
     /*
index 36db6e06be42d88b2ede784821bc3673cce8e27d..acd18494d326cae0ef370ff6de9ace9189758943 100644 (file)
@@ -5364,8 +5364,7 @@ vboxDomainSnapshotCreateXML(virDomainPtr dom,
     nsresult rc;
     resultCodeUnion result;
     virDomainSnapshotPtr ret = NULL;
-    unsigned int parse_flags = (VIR_DOMAIN_SNAPSHOT_PARSE_DISKS |
-                                VIR_DOMAIN_SNAPSHOT_PARSE_REDEFINE);
+    unsigned int parse_flags = VIR_DOMAIN_SNAPSHOT_PARSE_REDEFINE;
     g_autoptr(virDomainSnapshotDef) def = NULL;
 
     if (!data->vboxObj)
@@ -6783,7 +6782,6 @@ vboxDomainSnapshotDeleteMetadataOnly(virDomainSnapshotPtr snapshot)
     }
     def = virDomainSnapshotDefParseString(defXml,
                                           data->xmlopt, NULL, NULL,
-                                          VIR_DOMAIN_SNAPSHOT_PARSE_DISKS |
                                           VIR_DOMAIN_SNAPSHOT_PARSE_REDEFINE);
     if (!def) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
index fdd776282e82b4acd034f02a52f4f6144b4fefc3..2107785ab2542827065e70c8978b7bcae1fd2cab 100644 (file)
@@ -2580,7 +2580,7 @@ vzDomainSnapshotCreateXML(virDomainPtr domain,
     virDomainObj *dom;
     struct _vzConn *privconn = domain->conn->privateData;
     struct _vzDriver *driver = privconn->driver;
-    unsigned int parse_flags = VIR_DOMAIN_SNAPSHOT_PARSE_DISKS;
+    unsigned int parse_flags = 0;
     virDomainSnapshotObjList *snapshots = NULL;
     virDomainMomentObj *current;
     bool job = false;
index 735d0e21a1c0b3876cdedd1ca4684ec0771b0d0e..3fa932e755aea6c050e5cd460cd51c5f3ae903ac 100644 (file)
@@ -34,7 +34,7 @@ testCompareXMLToXMLFiles(const char *inxml,
     g_autofree char *inXmlData = NULL;
     g_autofree char *outXmlData = NULL;
     g_autofree char *actual = NULL;
-    unsigned int parseflags = VIR_DOMAIN_SNAPSHOT_PARSE_DISKS;
+    unsigned int parseflags = 0;
     unsigned int formatflags = VIR_DOMAIN_SNAPSHOT_FORMAT_SECURE;
     bool cur = false;
     g_autoptr(virDomainSnapshotDef) def = NULL;