]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: domain: Pass 'qemuCaps' to post parse callbacks when parsing status XML
authorPeter Krempa <pkrempa@redhat.com>
Mon, 28 May 2018 09:36:47 +0000 (11:36 +0200)
committerJán Tomko <jtomko@redhat.com>
Tue, 29 May 2018 08:23:24 +0000 (10:23 +0200)
When status XML was parsed the post-parse callbacks could not access
qemu caps and potentially upgrade the definition according to the
present caps. Implement the callback to pass it in.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_domain.c

index 47910acb83d1df3f28c6401777081e919a730614..0b99698046e4052b1b34ac15488e29790fc74cb3 100644 (file)
@@ -2801,6 +2801,15 @@ qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
 }
 
 
+static void *
+qemuDomainObjPrivateXMLGetParseOpaque(virDomainObjPtr vm)
+{
+    qemuDomainObjPrivatePtr priv = vm->privateData;
+
+    return priv->qemuCaps;
+}
+
+
 virDomainXMLPrivateDataCallbacks virQEMUDriverPrivateDataCallbacks = {
     .alloc = qemuDomainObjPrivateAlloc,
     .free = qemuDomainObjPrivateFree,
@@ -2809,6 +2818,7 @@ virDomainXMLPrivateDataCallbacks virQEMUDriverPrivateDataCallbacks = {
     .chrSourceNew = qemuDomainChrSourcePrivateNew,
     .parse = qemuDomainObjPrivateXMLParse,
     .format = qemuDomainObjPrivateXMLFormat,
+    .getParseOpaque = qemuDomainObjPrivateXMLGetParseOpaque,
     .storageParse = qemuStorageSourcePrivateDataParse,
     .storageFormat = qemuStorageSourcePrivateDataFormat,
 };