On Mon, Feb 19, 2018 at 16:26:35 +0100, Andrea Bolognani wrote:
On Mon, 2018-02-19 at 16:06 +0100, Peter Krempa wrote:
> > 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.
The result doesn't change because the PCIE_ROOT case in the switch
statement immediately following the conversion does nothing but
error out, which makes whether or not modelName is NULL irrelevant.
I mistakenly looked into the case for PCI_ROOT, so that mislead me. I
think it's okay in this case even without a comment. Thanks for the
explanation.