[PATCH 06/14] conf: Move definition of 'virDomainSnapshotLocation'

Peter Krempa pkrempa at redhat.com
Thu Mar 10 12:40:34 UTC 2022


The snapshot location enum is also needed for the disk definition so if
we house it inside domain_conf we can use the proper type for it.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/conf/domain_conf.c   | 10 +++++++++-
 src/conf/domain_conf.h   | 14 +++++++++++++-
 src/conf/snapshot_conf.c |  8 --------
 src/conf/snapshot_conf.h | 12 ------------
 src/libvirt_private.syms |  4 ++--
 5 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 40ff71d7db..721623129c 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -1402,6 +1402,14 @@ VIR_ENUM_IMPL(virDomainIBS,
               "fixed-na",
 );

+VIR_ENUM_IMPL(virDomainSnapshotLocation,
+              VIR_DOMAIN_SNAPSHOT_LOCATION_LAST,
+              "default",
+              "no",
+              "internal",
+              "external",
+);
+
 /* Internal mapping: subset of block job types that can be present in
  * <mirror> XML (remaining types are not two-phase). */
 VIR_ENUM_DECL(virDomainBlockJob);
@@ -23608,7 +23616,7 @@ virDomainDiskDefFormat(virBuffer *buf,
     if (def->sgio)
         virBufferAsprintf(&attrBuf, " sgio='%s'", sgio);

-    if (def->snapshot &&
+    if (def->snapshot != VIR_DOMAIN_SNAPSHOT_LOCATION_DEFAULT &&
         !(def->snapshot == VIR_DOMAIN_SNAPSHOT_LOCATION_NONE &&
           def->src->readonly))
         virBufferAsprintf(&attrBuf, " snapshot='%s'",
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 9fcf842ee7..5f6b508e89 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -537,6 +537,18 @@ typedef enum {
 } virDomainMemoryAllocation;


+typedef enum {
+    VIR_DOMAIN_SNAPSHOT_LOCATION_DEFAULT = 0,
+    VIR_DOMAIN_SNAPSHOT_LOCATION_NONE,
+    VIR_DOMAIN_SNAPSHOT_LOCATION_INTERNAL,
+    VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL,
+
+    VIR_DOMAIN_SNAPSHOT_LOCATION_LAST
+} virDomainSnapshotLocation;
+
+VIR_ENUM_DECL(virDomainSnapshotLocation);
+
+
 /* Stores the virtual disk configuration */
 struct _virDomainDiskDef {
     virStorageSource *src; /* non-NULL.  XXX Allow NULL for empty cdrom? */
@@ -581,7 +593,7 @@ struct _virDomainDiskDef {
     virTristateSwitch ioeventfd;
     virTristateSwitch event_idx;
     virTristateSwitch copy_on_read;
-    unsigned int snapshot; /* virDomainSnapshotLocation, snapshot_conf.h */
+    virDomainSnapshotLocation snapshot;
     virDomainStartupPolicy startupPolicy;
     bool transient;
     virTristateBool transientShareBacking;
diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c
index 812cca2ed1..a4b3cd8c2b 100644
--- a/src/conf/snapshot_conf.c
+++ b/src/conf/snapshot_conf.c
@@ -67,14 +67,6 @@ virDomainSnapshotOnceInit(void)

 VIR_ONCE_GLOBAL_INIT(virDomainSnapshot);

-VIR_ENUM_IMPL(virDomainSnapshotLocation,
-              VIR_DOMAIN_SNAPSHOT_LOCATION_LAST,
-              "default",
-              "no",
-              "internal",
-              "external",
-);
-
 /* virDomainSnapshotState is really virDomainState plus one extra state */
 VIR_ENUM_IMPL(virDomainSnapshotState,
               VIR_DOMAIN_SNAPSHOT_LAST,
diff --git a/src/conf/snapshot_conf.h b/src/conf/snapshot_conf.h
index c8997c710c..b7e0d441ff 100644
--- a/src/conf/snapshot_conf.h
+++ b/src/conf/snapshot_conf.h
@@ -26,17 +26,6 @@
 #include "moment_conf.h"
 #include "virenum.h"

-/* Items related to snapshot state */
-
-typedef enum {
-    VIR_DOMAIN_SNAPSHOT_LOCATION_DEFAULT = 0,
-    VIR_DOMAIN_SNAPSHOT_LOCATION_NONE,
-    VIR_DOMAIN_SNAPSHOT_LOCATION_INTERNAL,
-    VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL,
-
-    VIR_DOMAIN_SNAPSHOT_LOCATION_LAST
-} virDomainSnapshotLocation;
-
 /**
  * This enum has to map all known domain states from the public enum
  * virDomainState, before adding one additional state possible only
@@ -139,5 +128,4 @@ int virDomainSnapshotRedefinePrep(virDomainObj *vm,
                                   virDomainXMLOption *xmlopt,
                                   unsigned int flags);

-VIR_ENUM_DECL(virDomainSnapshotLocation);
 VIR_ENUM_DECL(virDomainSnapshotState);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 6f0d72ca38..01503083ef 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -637,6 +637,8 @@ virDomainSmartcardTypeFromString;
 virDomainSmartcardTypeToString;
 virDomainSmbiosModeTypeFromString;
 virDomainSmbiosModeTypeToString;
+virDomainSnapshotLocationTypeFromString;
+virDomainSnapshotLocationTypeToString;
 virDomainSoundDefFind;
 virDomainSoundDefFree;
 virDomainSoundDefRemove;
@@ -1024,8 +1026,6 @@ virDomainSnapshotDiskDefFree;
 virDomainSnapshotDiskDefParseXML;
 virDomainSnapshotFormatConvertXMLFlags;
 virDomainSnapshotIsExternal;
-virDomainSnapshotLocationTypeFromString;
-virDomainSnapshotLocationTypeToString;
 virDomainSnapshotRedefinePrep;
 virDomainSnapshotStateTypeFromString;
 virDomainSnapshotStateTypeToString;
-- 
2.35.1



More information about the libvir-list mailing list