From cbd1eba8b7b22dafe1dd57f6825dfd06aef072e1 Mon Sep 17 00:00:00 2001 From: Andrea Bolognani Date: Mon, 12 Feb 2018 18:55:04 +0100 Subject: [PATCH] qemu: Simplify modelName stringification There's no need to perform checks before conversion, we can just call virDomainControllerPCIModelNameTypeToString() and check the results later on. Since the variables involved are only used for PCI controllers, we can declare them in the 'case' scope rather than in the function scope to make everything a bit nicer while at it. Signed-off-by: Andrea Bolognani --- src/qemu/qemu_command.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index e406d53af4..d0b9b5246b 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -2625,8 +2625,6 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef, { virBuffer buf = VIR_BUFFER_INITIALIZER; int address_type = def->info.type; - const virDomainPCIControllerOpts *pciopts; - const char *modelName = NULL; *devstr = NULL; @@ -2726,11 +2724,9 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef, break; - case VIR_DOMAIN_CONTROLLER_TYPE_PCI: - pciopts = &def->opts.pciopts; - if (def->model != VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT && - def->model != VIR_DOMAIN_CONTROLLER_MODEL_PCI_LAST) - modelName = virDomainControllerPCIModelNameTypeToString(pciopts->modelName); + case VIR_DOMAIN_CONTROLLER_TYPE_PCI: { + const virDomainPCIControllerOpts *pciopts = &def->opts.pciopts; + const char *modelName = virDomainControllerPCIModelNameTypeToString(pciopts->modelName); /* Skip the implicit PHB for pSeries guests */ if (def->model == VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT && @@ -2739,6 +2735,13 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef, goto done; } + if (!modelName) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Unknown virDomainControllerPCIModelName value: %d"), + pciopts->modelName); + return -1; + } + switch ((virDomainControllerModelPCI) def->model) { case VIR_DOMAIN_CONTROLLER_MODEL_PCI_BRIDGE: virBufferAsprintf(&buf, "%s,chassis_nr=%d,id=%s", @@ -2780,6 +2783,7 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef, goto error; } break; + } case VIR_DOMAIN_CONTROLLER_TYPE_IDE: case VIR_DOMAIN_CONTROLLER_TYPE_FDC: -- 2.39.5