From 0d46a1f4d5b653649106f2893e40559b48490907 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Mon, 27 Oct 2025 14:54:15 +0100 Subject: [PATCH] conf: Introduce virDomainMemoryIsVirtioModel() 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 Reviewed-by: Jiri Denemark --- 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.47.3