[libvirt] [PATCH 08/26] qemu: Tweak index number checking

Laine Stump laine at laine.org
Tue Jun 13 02:02:57 UTC 2017


On 06/02/2017 12:07 PM, Andrea Bolognani wrote:
> Moving the check and rewriting it this way doesn't alter
> the current behavior, but will allow us to special-case
> pci-root down the line.

But this function should never be called for a controller with
model='pci-root'?



> ---
>  src/qemu/qemu_command.c | 26 ++++++++++++++++++++------
>  1 file changed, 20 insertions(+), 6 deletions(-)
> 
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index a0403bf..082ffa9 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -2828,6 +2828,26 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef,
>      case VIR_DOMAIN_CONTROLLER_TYPE_PCI:
>          switch ((virDomainControllerModelPCI) def->model) {
>          case VIR_DOMAIN_CONTROLLER_MODEL_PCI_BRIDGE:
> +        case VIR_DOMAIN_CONTROLLER_MODEL_DMI_TO_PCI_BRIDGE:
> +        case VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT_PORT:
> +        case VIR_DOMAIN_CONTROLLER_MODEL_PCIE_SWITCH_UPSTREAM_PORT:
> +        case VIR_DOMAIN_CONTROLLER_MODEL_PCIE_SWITCH_DOWNSTREAM_PORT:
> +        case VIR_DOMAIN_CONTROLLER_MODEL_PCI_EXPANDER_BUS:
> +        case VIR_DOMAIN_CONTROLLER_MODEL_PCIE_EXPANDER_BUS:
> +            if (def->idx == 0) {
> +                virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> +                               _("index for pci controllers of model '%s' must be > 0"),
> +                               virDomainControllerModelPCITypeToString(def->model));
> +                goto error;
> +            }
> +            break;
> +        case VIR_DOMAIN_CONTROLLER_MODEL_PCI_ROOT:
> +        case VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT:
> +        case VIR_DOMAIN_CONTROLLER_MODEL_PCI_LAST:
> +            break;
> +        }
> +        switch ((virDomainControllerModelPCI) def->model) {
> +        case VIR_DOMAIN_CONTROLLER_MODEL_PCI_BRIDGE:
>              if (def->opts.pciopts.modelName
>                  == VIR_DOMAIN_CONTROLLER_PCI_MODEL_NAME_NONE ||
>                  def->opts.pciopts.chassisNr == -1) {
> @@ -3086,12 +3106,6 @@ qemuBuildControllerDevStr(const virDomainDef *domainDef,
>                             _("wrong function called"));
>              goto error;
>          }
> -        if (def->idx == 0) {
> -            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> -                           _("index for pci controllers of model '%s' must be > 0"),
> -                           virDomainControllerModelPCITypeToString(def->model));
> -            goto error;
> -        }
>          break;
>  
>      case VIR_DOMAIN_CONTROLLER_TYPE_IDE:
> 




More information about the libvir-list mailing list