[libvirt] [PATCH 1/3] qemu: parse: Use virControllerDefNew

John Ferlan jferlan at redhat.com
Mon May 2 23:44:42 UTC 2016



On 04/27/2016 02:29 PM, Cole Robinson wrote:
> Rather than reimplement it. This will be needed in upcoming patches
> ---
>  src/conf/domain_conf.c        | 2 +-
>  src/conf/domain_conf.h        | 2 ++
>  src/libvirt_private.syms      | 1 +
>  src/qemu/qemu_parse_command.c | 8 +++-----
>  4 files changed, 7 insertions(+), 6 deletions(-)
> 

ACK for what's here...  kudos for even considering qemu_parse_command -
it's certainly the forgotten step-child.

Would it be worth modifying qemuDomainFindOrCreateSCSIDiskController
too?  I was just searching on other places where a VIR_ALLOC() was done
for a virDomainControllerDefPtr.

John

> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index b46cd2a..04817bd 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -1637,7 +1637,7 @@ virDomainDiskSetFormat(virDomainDiskDefPtr def, int format)
>  }
>  
>  
> -static virDomainControllerDefPtr
> +virDomainControllerDefPtr
>  virDomainControllerDefNew(virDomainControllerType type)
>  {
>      virDomainControllerDefPtr def;
> diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
> index ee66e6d..d98f052 100644
> --- a/src/conf/domain_conf.h
> +++ b/src/conf/domain_conf.h
> @@ -2558,6 +2558,8 @@ virDomainDiskDefPtr virDomainDiskFindByBusAndDst(virDomainDefPtr def,
>                                                   int bus,
>                                                   char *dst);
>  void virDomainControllerDefFree(virDomainControllerDefPtr def);
> +virDomainControllerDefPtr
> +virDomainControllerDefNew(virDomainControllerType type);
>  void virDomainFSDefFree(virDomainFSDefPtr def);
>  void virDomainActualNetDefFree(virDomainActualNetDefPtr def);
>  void virDomainNetDefFree(virDomainNetDefPtr def);
> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
> index 0de35ef..4d09dae 100644
> --- a/src/libvirt_private.syms
> +++ b/src/libvirt_private.syms
> @@ -186,6 +186,7 @@ virDomainClockOffsetTypeToString;
>  virDomainConfigFile;
>  virDomainControllerAliasFind;
>  virDomainControllerDefFree;
> +virDomainControllerDefNew;
>  virDomainControllerFind;
>  virDomainControllerFindByType;
>  virDomainControllerInsert;
> diff --git a/src/qemu/qemu_parse_command.c b/src/qemu/qemu_parse_command.c
> index 79f5b92..455d515 100644
> --- a/src/qemu/qemu_parse_command.c
> +++ b/src/qemu/qemu_parse_command.c
> @@ -2351,13 +2351,11 @@ qemuParseCommandLine(virCapsPtr caps,
>              /* ignore, generted on the fly */
>          } else if (STREQ(arg, "-usb")) {
>              virDomainControllerDefPtr ctldef;
> -            if (VIR_ALLOC(ctldef) < 0)
> +            ctldef = virDomainControllerDefNew(VIR_DOMAIN_CONTROLLER_TYPE_USB);
> +            if (!ctldef)
>                  goto error;
> -            ctldef->type = VIR_DOMAIN_CONTROLLER_TYPE_USB;
> -            ctldef->idx = 0;
> -            ctldef->model = -1;
>              if (virDomainControllerInsert(def, ctldef) < 0) {
> -                VIR_FREE(ctldef);
> +                virDomainControllerDefFree(ctldef);
>                  goto error;
>              }
>          } else if (STREQ(arg, "-pidfile")) {
> 




More information about the libvir-list mailing list