On Fri, Feb 16, 2018 at 17:28:02 +0100, Andrea Bolognani wrote:
> There's no need to perform checks before conversion, we can
> just go try and check the results later on.
>
> Signed-off-by: Andrea Bolognani <abologna@redhat.com>
> ---
> src/qemu/qemu_command.c | 16 +++++++++-------
> 1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 2291bf5da..a44a1b2d2 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -2725,13 +2725,8 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef,
> break;
>
> case VIR_DOMAIN_CONTROLLER_TYPE_PCI: {
> - const virDomainPCIControllerOpts *pciopts;
> - const char *modelName = NULL;
> -
> - 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);
> + const virDomainPCIControllerOpts *pciopts = &def->opts.pciopts;
> + const char *modelName = virDomainControllerPCIModelNameTypeToString(pciopts->modelName);
This is not equivalent. virDomainControllerPCIModelName implementation
actually defines a string for VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT so
it will not return NULL and the commit message does not explain why/if
it is actually okay.
>
> /* Skip the implicit PHB for pSeries guests */
> if (def->model == VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT &&
> @@ -2741,6 +2736,13 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef,
> goto done;
> }
>
> + if (!modelName) {
> + virReportError(VIR_ERR_INTERNAL_ERROR,
> + _("Unknown virDomainControllerPCIModelName value: %d"),
I think this was under discussion somewhere in this series.
> + pciopts->modelName);
> + return -1;
> + }
> +
> switch ((virDomainControllerModelPCI) def->model) {
> case VIR_DOMAIN_CONTROLLER_MODEL_PCI_BRIDGE:
> virBufferAsprintf(&buf, "%s,chassis_nr=%d,id=%s",
> --
> 2.14.3
>
> --
> libvir-list mailing list
> libvir-list@redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list