[libvirt] [PATCH 1/4] domain: Add virDomainDefAssignAddressesCallback

Andrea Bolognani abologna at redhat.com
Tue May 17 14:28:36 UTC 2016


On Sat, 2016-05-14 at 16:00 -0400, Cole Robinson wrote:
> This will be called at the end of virDomainDefPostParse to fill
> allow hypervisor drivers to fill in device addresses.

Too many "fill"s ;)

> ---
>  src/conf/domain_conf.c | 7 +++++++
>  src/conf/domain_conf.h | 8 ++++++++
>  2 files changed, 15 insertions(+)
> 
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index ed0c471..1c8d326 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -4448,6 +4448,13 @@ virDomainDefPostParse(virDomainDefPtr def,
>      if ((ret = virDomainDefPostParseInternal(def, &data)) < 0)
>          return ret;
>  
> +    if (xmlopt->config.assignAddressesCallback) {
> +        ret = xmlopt->config.assignAddressesCallback(def, caps, parseFlags,
> +                                                     xmlopt->config.priv);
> +        if (ret < 0)
> +            return ret;
> +    }
> +
>      if (virDomainDefPostParseCheckFeatures(def, xmlopt) < 0)
>          return -1;
>  
> diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
> index b9e696d..02594fe 100644
> --- a/src/conf/domain_conf.h
> +++ b/src/conf/domain_conf.h
> @@ -2475,6 +2475,13 @@ typedef int (*virDomainDeviceDefPostParseCallback)(virDomainDeviceDefPtr dev,
>                                                     virCapsPtr caps,
>                                                     unsigned int parseFlags,
>                                                     void *opaque);
> +/* Drive callback for assigning device addresses, called at the end
> +   of parsing, after all defaults and implicit devices have been added */

The second line of the comment should have a '*' as well.

> +typedef int (*virDomainDefAssignAddressesCallback)(virDomainDef *def,
> +                                                   virCapsPtr caps,
> +                                                   unsigned int parseFlags,
> +                                                   void *opaque);
> +
>  
>  typedef struct _virDomainDefParserConfig virDomainDefParserConfig;
>  typedef virDomainDefParserConfig *virDomainDefParserConfigPtr;
> @@ -2482,6 +2489,7 @@ struct _virDomainDefParserConfig {
>      /* driver domain definition callbacks */
>      virDomainDefPostParseCallback domainPostParseCallback;
>      virDomainDeviceDefPostParseCallback devicesPostParseCallback;
> +    virDomainDefAssignAddressesCallback assignAddressesCallback;
>  
>      /* private data for the callbacks */
>      void *priv;

ACK

-- 
Andrea Bolognani
Software Engineer - Virtualization Team




More information about the libvir-list mailing list