Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/conf/domain_conf.c | 3 ++-
src/conf/domain_conf.h | 8 ++++++--
src/qemu/qemu_domain.c | 3 ++-
3 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index d205222..b11a296 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -4604,7 +4604,8 @@ virDomainDefPostParse(virDomainDefPtr def,
if (xmlopt->config.assignAddressesCallback) {
ret = xmlopt->config.assignAddressesCallback(def, caps, parseFlags,
- xmlopt->config.priv);
+ xmlopt->config.priv,
+ parseOpaque);
if (ret < 0)
return ret;
}
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 37ed6f5..39d7d8c 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2382,11 +2382,15 @@ typedef int
(*virDomainDeviceDefPostParseCallback)(virDomainDeviceDefPtr dev,
void *opaque,
void *parseOpaque);
/* Drive callback for assigning device addresses, called at the end
- * of parsing, after all defaults and implicit devices have been added. */
+ * of parsing, after all defaults and implicit devices have been added.
+ * @parseOpaque is opaque data passed by virDomainDefParse* caller,
+ * @opqaue is opaque data set by driver (usually pointer to driver
+ * private data). */
typedef int (*virDomainDefAssignAddressesCallback)(virDomainDef *def,
virCapsPtr caps,
unsigned int parseFlags,
- void *opaque);
+ void *opaque,
+ void *parseOpaque);
/* Called in appropriate places where the domain conf parser can return failure
* for configurations that were previously accepted. This shall not modify the
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 99baf5c..70fac56 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -2773,7 +2773,8 @@ static int
qemuDomainDefAssignAddresses(virDomainDef *def,
virCapsPtr caps,
unsigned int parseFlags ATTRIBUTE_UNUSED,
- void *opaque)
+ void *opaque,
+ void *parseOpaque ATTRIBUTE_UNUSED)
{
virQEMUDriverPtr driver = opaque;
virQEMUCapsPtr qemuCaps = NULL;
--
2.8.4