From: Michal Privoznik <mprivozn@redhat.com>
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 <mprivozn@redhat.com>
---
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