From bcf46ddb3f6967039b1883808c1fee279caa0c82 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Fri, 17 Jun 2016 09:44:43 +0200 Subject: [PATCH] conf: Introduce virCPUDefCopyWithoutModel Useful for copying a CPU definition without model related parts (i.e., without model name, feature list, vendor). Signed-off-by: Jiri Denemark --- src/conf/cpu_conf.c | 16 +++++++++++++++- src/conf/cpu_conf.h | 3 +++ src/libvirt_private.syms | 1 + 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index b71528ef5e..c6e847aa16 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -114,8 +114,9 @@ virCPUDefCopyModel(virCPUDefPtr dst, return 0; } + virCPUDefPtr -virCPUDefCopy(const virCPUDef *cpu) +virCPUDefCopyWithoutModel(const virCPUDef *cpu) { virCPUDefPtr copy; @@ -131,6 +132,18 @@ virCPUDefCopy(const virCPUDef *cpu) copy->threads = cpu->threads; copy->arch = cpu->arch; + return copy; +} + + +virCPUDefPtr +virCPUDefCopy(const virCPUDef *cpu) +{ + virCPUDefPtr copy; + + if (!(copy = virCPUDefCopyWithoutModel(cpu))) + return NULL; + if (virCPUDefCopyModel(copy, cpu, false) < 0) goto error; @@ -141,6 +154,7 @@ virCPUDefCopy(const virCPUDef *cpu) return NULL; } + virCPUDefPtr virCPUDefParseXML(xmlNodePtr node, xmlXPathContextPtr ctxt, diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h index 705ba6d902..2bbab9efb0 100644 --- a/src/conf/cpu_conf.h +++ b/src/conf/cpu_conf.h @@ -126,6 +126,9 @@ virCPUDefCopyModel(virCPUDefPtr dst, virCPUDefPtr virCPUDefCopy(const virCPUDef *cpu); +virCPUDefPtr +virCPUDefCopyWithoutModel(const virCPUDef *cpu); + virCPUDefPtr virCPUDefParseXML(xmlNodePtr node, xmlXPathContextPtr ctxt, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index b6561e803a..26597bbaf5 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -66,6 +66,7 @@ virCapabilitiesSetNetPrefix; virCPUDefAddFeature; virCPUDefCopy; virCPUDefCopyModel; +virCPUDefCopyWithoutModel; virCPUDefFormat; virCPUDefFormatBuf; virCPUDefFree;