Re: [PATCH 7/7] qemu: Forbid most duplicated watchdogs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/19/23 16:07, Martin Kletzander wrote:
> Most of them are platform devices and only i6300esb can be plugged
> multiple times into different PCI slots.
> 
> Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx>
> ---
>  src/qemu/qemu_validate.c | 18 ++++++++++--------
>  1 file changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
> index b2c3fd1785bc..2b205348f597 100644
> --- a/src/qemu/qemu_validate.c
> +++ b/src/qemu/qemu_validate.c
> @@ -1110,19 +1110,21 @@ qemuValidateDomainDefTPMs(const virDomainDef *def)
>  static int
>  qemuValidateDomainDefWatchdogs(const virDomainDef *def)
>  {
> -    bool found_itco = false;
> +    bool watchdogs[VIR_DOMAIN_WATCHDOG_MODEL_LAST] = {0};


We usually us virBitmap for this...

>      size_t i = 0;
>  
>      for (i = 0; i < def->nwatchdogs; i++) {
> +        if (def->watchdogs[i]->model == VIR_DOMAIN_WATCHDOG_MODEL_I6300ESB)
> +            continue;
>  
> -        if (def->watchdogs[i]->model == VIR_DOMAIN_WATCHDOG_MODEL_ITCO) {
> -            if (found_itco) {
> -                virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> -                               _("Multiple iTCO watchdogs are not supported"));
> -                return -1;
> -            }
> -            found_itco = true;
> +        if (watchdogs[def->watchdogs[i]->model]) {
> +            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> +                           _("domain can only have one watchdog with model '%1$s'"),
> +                           virDomainWatchdogModelTypeToString(def->watchdogs[i]->model));
> +            return -1;
>          }
> +
> +        watchdogs[def->watchdogs[i]->model] = true;
>      }
>  
>      return 0;

It should be fairly trivial to rewrite.

Michal




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux