From 2e056b5c511e42376fe944e54d2df65c8c12a921 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Thu, 22 Sep 2016 17:23:03 +0200 Subject: [PATCH] virDomainDefCopy: Introduce @parseOpaque argument We want to pass the proper opaque pointer instead of NULL to virDomainDefParseString. Signed-off-by: Michal Privoznik --- src/conf/domain_conf.c | 7 ++++--- src/conf/domain_conf.h | 1 + src/libxl/libxl_domain.c | 4 ++-- src/qemu/qemu_domain.c | 2 +- src/qemu/qemu_driver.c | 3 ++- src/test/test_driver.c | 5 +++-- src/xen/xm_internal.c | 1 + 7 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 6f5bf2eb08..1d8d7c17b0 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -2973,7 +2973,7 @@ virDomainObjSetDefTransient(virCapsPtr caps, if (domain->newDef) return 0; - if (!(domain->newDef = virDomainDefCopy(domain->def, caps, xmlopt, false))) + if (!(domain->newDef = virDomainDefCopy(domain->def, caps, xmlopt, NULL, false))) goto out; ret = 0; @@ -24661,6 +24661,7 @@ virDomainDefPtr virDomainDefCopy(virDomainDefPtr src, virCapsPtr caps, virDomainXMLOptionPtr xmlopt, + void *parseOpaque, bool migratable) { char *xml; @@ -24676,7 +24677,7 @@ virDomainDefCopy(virDomainDefPtr src, if (!(xml = virDomainDefFormat(src, caps, format_flags))) return NULL; - ret = virDomainDefParseString(xml, caps, xmlopt, NULL, parse_flags); + ret = virDomainDefParseString(xml, caps, xmlopt, parseOpaque, parse_flags); VIR_FREE(xml); return ret; @@ -24690,7 +24691,7 @@ virDomainObjCopyPersistentDef(virDomainObjPtr dom, virDomainDefPtr cur; cur = virDomainObjGetPersistentDef(caps, xmlopt, dom); - return virDomainDefCopy(cur, caps, xmlopt, false); + return virDomainDefCopy(cur, caps, xmlopt, NULL, false); } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 3acfc98e99..1ea69d9e6d 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2604,6 +2604,7 @@ virDomainDefPtr virDomainObjGetOneDef(virDomainObjPtr vm, unsigned int flags); virDomainDefPtr virDomainDefCopy(virDomainDefPtr src, virCapsPtr caps, virDomainXMLOptionPtr xmlopt, + void *parseOpaque, bool migratable); virDomainDefPtr virDomainObjCopyPersistentDef(virDomainObjPtr dom, virCapsPtr caps, diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index 50385fd978..fb63a035d8 100644 --- a/src/libxl/libxl_domain.c +++ b/src/libxl/libxl_domain.c @@ -1365,8 +1365,8 @@ libxlDomainDefCheckABIStability(libxlDriverPrivatePtr driver, libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver); bool ret = false; - if (!(migratableDefSrc = virDomainDefCopy(src, cfg->caps, driver->xmlopt, true)) || - !(migratableDefDst = virDomainDefCopy(dst, cfg->caps, driver->xmlopt, true))) + if (!(migratableDefSrc = virDomainDefCopy(src, cfg->caps, driver->xmlopt, NULL, true)) || + !(migratableDefDst = virDomainDefCopy(dst, cfg->caps, driver->xmlopt, NULL, true))) goto cleanup; ret = virDomainDefCheckABIStability(migratableDefSrc, migratableDefDst); diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 9f67eaf283..97f8993aa7 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -3391,7 +3391,7 @@ qemuDomainDefFormatBuf(virQEMUDriverPtr driver, if (!(flags & (VIR_DOMAIN_XML_UPDATE_CPU | VIR_DOMAIN_XML_MIGRATABLE))) goto format; - if (!(copy = virDomainDefCopy(def, caps, driver->xmlopt, + if (!(copy = virDomainDefCopy(def, caps, driver->xmlopt, NULL, flags & VIR_DOMAIN_XML_MIGRATABLE))) goto cleanup; diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 8adf8804ab..eaea96f8cb 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -15232,7 +15232,8 @@ qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot, * than inactive xml? */ snap->def->current = true; if (snap->def->dom) { - config = virDomainDefCopy(snap->def->dom, caps, driver->xmlopt, true); + config = virDomainDefCopy(snap->def->dom, caps, + driver->xmlopt, NULL, true); if (!config) goto endjob; } diff --git a/src/test/test_driver.c b/src/test/test_driver.c index bf5c1b0294..a382d89a31 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -6416,6 +6416,7 @@ testDomainSnapshotCreateXML(virDomainPtr domain, if (!(def->dom = virDomainDefCopy(vm->def, privconn->caps, privconn->xmlopt, + NULL, true))) goto cleanup; @@ -6670,8 +6671,8 @@ testDomainRevertToSnapshot(virDomainSnapshotPtr snapshot, } snap->def->current = true; - config = virDomainDefCopy(snap->def->dom, - privconn->caps, privconn->xmlopt, true); + config = virDomainDefCopy(snap->def->dom, privconn->caps, + privconn->xmlopt, NULL, true); if (!config) goto cleanup; diff --git a/src/xen/xm_internal.c b/src/xen/xm_internal.c index 8335078f30..10c9097d77 100644 --- a/src/xen/xm_internal.c +++ b/src/xen/xm_internal.c @@ -517,6 +517,7 @@ xenXMDomainGetXMLDesc(virConnectPtr conn, ret = virDomainDefCopy(entry->def, priv->caps, priv->xmlopt, + NULL, false); cleanup: -- 2.47.2