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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list