From 0905f222f1bfd9d741e94a8d653e05bb174846d3 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Wed, 19 Feb 2020 13:48:39 +0100 Subject: [PATCH] cpu_conf: Format vendor_id for host-model CPUs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In commit v5.9.0-400-gaf8e39921a I removed printing model's fallback and vendor_id attributes when no model is specified. However, vendor_id makes sense even without a specific CPU model (for host-model CPUs). https://bugzilla.redhat.com/show_bug.cgi?id=1804549 Signed-off-by: Jiri Denemark Reviewed-by: Ján Tomko --- src/conf/cpu_conf.c | 14 +++++++++----- tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml | 4 +++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c index 8fca3df874..07404c6fb0 100644 --- a/src/conf/cpu_conf.c +++ b/src/conf/cpu_conf.c @@ -791,10 +791,10 @@ virCPUDefFormatBuf(virBufferPtr buf, return -1; } - if (formatModel && def->model) { + if (formatModel && (def->model || def->vendor_id)) { virBufferAddLit(buf, "type == VIR_CPU_TYPE_GUEST) { + if (def->type == VIR_CPU_TYPE_GUEST && def->model) { const char *fallback; fallback = virCPUFallbackTypeToString(def->fallback); @@ -805,11 +805,15 @@ virCPUDefFormatBuf(virBufferPtr buf, return -1; } virBufferAsprintf(buf, " fallback='%s'", fallback); - if (def->vendor_id) - virBufferEscapeString(buf, " vendor_id='%s'", def->vendor_id); } - virBufferEscapeString(buf, ">%s\n", def->model); + if (def->type == VIR_CPU_TYPE_GUEST) + virBufferEscapeString(buf, " vendor_id='%s'", def->vendor_id); + + if (def->model) + virBufferEscapeString(buf, ">%s\n", def->model); + else + virBufferAddLit(buf, "/>\n"); } if (formatModel && def->vendor) diff --git a/tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml b/tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml index d2447ccd10..2a7d0246cc 100644 --- a/tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml +++ b/tests/qemuxml2xmloutdata/cpu-host-model-vendor.xml @@ -8,7 +8,9 @@ hvm - + + + destroy restart -- GitLab