From: Michal Privoznik <[email protected]>

The aim is to return true for memory models that are virtio
devices (virtio-mem and virtio-pmem) and false for everything
else.

Signed-off-by: Michal Privoznik <[email protected]>
---
 src/conf/domain_conf.c   | 20 ++++++++++++++++++++
 src/conf/domain_conf.h   |  1 +
 src/libvirt_private.syms |  1 +
 3 files changed, 22 insertions(+)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 0d32bcad47..d430101dce 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -14333,6 +14333,26 @@ virDomainMemoryDefNew(virDomainMemoryModel model)
 }
 
 
+bool
+virDomainMemoryIsVirtioModel(const virDomainMemoryDef *def)
+{
+    switch (def->model) {
+    case VIR_DOMAIN_MEMORY_MODEL_VIRTIO_PMEM:
+    case VIR_DOMAIN_MEMORY_MODEL_VIRTIO_MEM:
+        return true;
+
+    case VIR_DOMAIN_MEMORY_MODEL_NONE:
+    case VIR_DOMAIN_MEMORY_MODEL_DIMM:
+    case VIR_DOMAIN_MEMORY_MODEL_NVDIMM:
+    case VIR_DOMAIN_MEMORY_MODEL_SGX_EPC:
+    case VIR_DOMAIN_MEMORY_MODEL_LAST:
+        break;
+    }
+
+    return false;
+}
+
+
 static virDomainMemoryDef *
 virDomainMemoryDefParseXML(virDomainXMLOption *xmlopt,
                            xmlNodePtr memdevNode,
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index a63d922853..a279fdd43c 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2806,6 +2806,7 @@ struct _virDomainMemoryDef {
 virDomainMemoryDef *virDomainMemoryDefNew(virDomainMemoryModel model);
 void virDomainMemoryDefFree(virDomainMemoryDef *def);
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainMemoryDef, virDomainMemoryDefFree);
+bool virDomainMemoryIsVirtioModel(const virDomainMemoryDef *def);
 
 
 typedef enum {
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 26776dff2a..7269dd3786 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -529,6 +529,7 @@ virDomainMemoryFindByDeviceAlias;
 virDomainMemoryFindByDeviceInfo;
 virDomainMemoryFindInactiveByDef;
 virDomainMemoryInsert;
+virDomainMemoryIsVirtioModel;
 virDomainMemoryModelTypeFromString;
 virDomainMemoryModelTypeToString;
 virDomainMemoryRemove;
-- 
2.51.0

Reply via email to