The match attribute is only relevant for custom mode CPUs. Reporting
failure when match == 'minimum' regardless on CPU mode can cause
unexpected failures. We should only report the error for custom CPUs. In
fact, calling virCPUs390Update on a custom mode CPU should always report
an error as optional features are not supported on s390 either.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
src/cpu/cpu_s390.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/cpu/cpu_s390.c b/src/cpu/cpu_s390.c
index a4a381f4b8..dd030c5a11 100644
--- a/src/cpu/cpu_s390.c
+++ b/src/cpu/cpu_s390.c
@@ -49,15 +49,15 @@ virCPUs390Update(virCPUDefPtr guest,
int ret = -1;
size_t i;
- if (guest->match == VIR_CPU_MATCH_MINIMUM) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("match mode %s not supported"),
- virCPUMatchTypeToString(guest->match));
- goto cleanup;
- }
-
- if (guest->mode != VIR_CPU_MODE_HOST_MODEL) {
- ret = 0;
+ if (guest->mode == VIR_CPU_MODE_CUSTOM) {
+ if (guest->match == VIR_CPU_MATCH_MINIMUM) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("match mode %s not supported"),
+ virCPUMatchTypeToString(guest->match));
+ } else {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("optional CPU features are not supported"));
+ }
goto cleanup;
}
--
2.24.0