From nobody Thu May 15 13:28:10 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1508400808368557.0922668536753; Thu, 19 Oct 2017 01:13:28 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3D52861470; Thu, 19 Oct 2017 08:13:27 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 194B3BA7C4; Thu, 19 Oct 2017 08:13:27 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id D0D5B410BB; Thu, 19 Oct 2017 08:13:26 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v9J8BYdg007390 for ; Thu, 19 Oct 2017 04:11:34 -0400 Received: by smtp.corp.redhat.com (Postfix) id F2C06A4301; Thu, 19 Oct 2017 08:11:33 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id 542D3A42FE for ; Thu, 19 Oct 2017 08:11:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 3D52861470 Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=libvir-list-bounces@redhat.com From: Michal Privoznik To: libvir-list@redhat.com Date: Thu, 19 Oct 2017 10:11:01 +0200 Message-Id: <978c2cafdb752e470092d3b3656e398e269afdae.1508399823.git.mprivozn@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v1 06/14] conf: Pass xmlopt down to virDomainDeviceInfoParseXML X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Thu, 19 Oct 2017 08:13:27 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" This function is going to make decisions based on the features set per each driver. For that we need the virDomainXMLOption object. Signed-off-by: Michal Privoznik --- src/conf/domain_conf.c | 165 ++++++++++++++++++++++++++++++---------------= ---- 1 file changed, 102 insertions(+), 63 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index b3feddc39..f4de4e288 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -6402,7 +6402,8 @@ virDomainDeviceAddressParseXML(xmlNodePtr address, * @param node XML nodeset to parse for device address definition */ static int -virDomainDeviceInfoParseXML(xmlNodePtr node, +virDomainDeviceInfoParseXML(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED, + xmlNodePtr node, virHashTablePtr bootHash, virDomainDeviceInfoPtr info, unsigned int flags) @@ -9177,7 +9178,7 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt, } def->info.type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI; } else { - if (virDomainDeviceInfoParseXML(node, bootHash, &def->info, + if (virDomainDeviceInfoParseXML(xmlopt, node, bootHash, &def->info, flags | VIR_DOMAIN_DEF_PARSE_ALLOW= _BOOT) < 0) goto error; } @@ -9514,7 +9515,8 @@ virDomainControllerModelTypeToString(virDomainControl= lerDefPtr def, * @param node XML nodeset to parse for controller definition */ static virDomainControllerDefPtr -virDomainControllerDefParseXML(xmlNodePtr node, +virDomainControllerDefParseXML(virDomainXMLOptionPtr xmlopt, + xmlNodePtr node, xmlXPathContextPtr ctxt, unsigned int flags) { @@ -9663,7 +9665,8 @@ virDomainControllerDefParseXML(xmlNodePtr node, if (def->type =3D=3D VIR_DOMAIN_CONTROLLER_TYPE_USB && def->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE) { VIR_DEBUG("Ignoring device address for none model usb controller"); - } else if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) = < 0) { + } else if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, + &def->info, flags) < 0) { goto error; } =20 @@ -9890,7 +9893,8 @@ virDomainNetGenerateMAC(virDomainXMLOptionPtr xmlopt, * @param node XML nodeset to parse for disk definition */ static virDomainFSDefPtr -virDomainFSDefParseXML(xmlNodePtr node, +virDomainFSDefParseXML(virDomainXMLOptionPtr xmlopt, + xmlNodePtr node, xmlXPathContextPtr ctxt, unsigned int flags) { @@ -10047,7 +10051,7 @@ virDomainFSDefParseXML(xmlNodePtr node, def->dst =3D target; target =3D NULL; =20 - if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0) + if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags)= < 0) goto error; =20 cleanup: @@ -10568,7 +10572,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlop= t, } def->info.type =3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI; } else { - if (virDomainDeviceInfoParseXML(node, bootHash, &def->info, + if (virDomainDeviceInfoParseXML(xmlopt, node, bootHash, &def->info, flags | VIR_DOMAIN_DEF_PARSE_ALLOW= _BOOT | VIR_DOMAIN_DEF_PARSE_ALLOW_ROM) = < 0) goto error; @@ -11835,7 +11839,8 @@ virDomainChrDefParseXML(virDomainXMLOptionPtr xmlop= t, if (def->deviceType =3D=3D VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL && def->targetType =3D=3D VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_GUESTFWD= ) { VIR_DEBUG("Ignoring device address for gustfwd channel"); - } else if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) = < 0) { + } else if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, + &def->info, flags) < 0) { goto error; } =20 @@ -11972,7 +11977,7 @@ virDomainSmartcardDefParseXML(virDomainXMLOptionPtr= xmlopt, goto error; } =20 - if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0) + if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags)= < 0) goto error; if (def->info.type !=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE && def->info.type !=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCID) { @@ -12005,7 +12010,8 @@ virDomainSmartcardDefParseXML(virDomainXMLOptionPtr= xmlopt, * */ static virDomainTPMDefPtr -virDomainTPMDefParseXML(xmlNodePtr node, +virDomainTPMDefParseXML(virDomainXMLOptionPtr xmlopt, + xmlNodePtr node, xmlXPathContextPtr ctxt, unsigned int flags) { @@ -12074,7 +12080,7 @@ virDomainTPMDefParseXML(xmlNodePtr node, goto error; } =20 - if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0) + if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags)= < 0) goto error; =20 cleanup: @@ -12093,7 +12099,8 @@ virDomainTPMDefParseXML(xmlNodePtr node, } =20 static virDomainPanicDefPtr -virDomainPanicDefParseXML(xmlNodePtr node, +virDomainPanicDefParseXML(virDomainXMLOptionPtr xmlopt, + xmlNodePtr node, unsigned int flags) { virDomainPanicDefPtr panic; @@ -12102,7 +12109,8 @@ virDomainPanicDefParseXML(xmlNodePtr node, if (VIR_ALLOC(panic) < 0) return NULL; =20 - if (virDomainDeviceInfoParseXML(node, NULL, &panic->info, flags) < 0) + if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, + &panic->info, flags) < 0) goto error; =20 model =3D virXMLPropString(node, "model"); @@ -12125,7 +12133,8 @@ virDomainPanicDefParseXML(xmlNodePtr node, =20 /* Parse the XML definition for an input device */ static virDomainInputDefPtr -virDomainInputDefParseXML(const virDomainDef *dom, +virDomainInputDefParseXML(virDomainXMLOptionPtr xmlopt, + const virDomainDef *dom, xmlNodePtr node, xmlXPathContextPtr ctxt, unsigned int flags) @@ -12236,7 +12245,7 @@ virDomainInputDefParseXML(const virDomainDef *dom, } } =20 - if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0) + if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags)= < 0) goto error; =20 if (def->bus =3D=3D VIR_DOMAIN_INPUT_BUS_USB && @@ -12276,7 +12285,9 @@ virDomainInputDefParseXML(const virDomainDef *dom, =20 /* Parse the XML definition for a hub device */ static virDomainHubDefPtr -virDomainHubDefParseXML(xmlNodePtr node, unsigned int flags) +virDomainHubDefParseXML(virDomainXMLOptionPtr xmlopt, + xmlNodePtr node, + unsigned int flags) { virDomainHubDefPtr def; char *type =3D NULL; @@ -12298,7 +12309,7 @@ virDomainHubDefParseXML(xmlNodePtr node, unsigned i= nt flags) goto error; } =20 - if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0) + if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags)= < 0) goto error; =20 cleanup: @@ -13375,7 +13386,8 @@ virDomainSoundCodecDefParseXML(xmlNodePtr node) =20 =20 static virDomainSoundDefPtr -virDomainSoundDefParseXML(xmlNodePtr node, +virDomainSoundDefParseXML(virDomainXMLOptionPtr xmlopt, + xmlNodePtr node, xmlXPathContextPtr ctxt, unsigned int flags) { @@ -13427,7 +13439,7 @@ virDomainSoundDefParseXML(xmlNodePtr node, } } =20 - if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0) + if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags)= < 0) goto error; =20 cleanup: @@ -13444,7 +13456,8 @@ virDomainSoundDefParseXML(xmlNodePtr node, =20 =20 static virDomainWatchdogDefPtr -virDomainWatchdogDefParseXML(xmlNodePtr node, +virDomainWatchdogDefParseXML(virDomainXMLOptionPtr xmlopt, + xmlNodePtr node, unsigned int flags) { =20 @@ -13480,7 +13493,7 @@ virDomainWatchdogDefParseXML(xmlNodePtr node, } } =20 - if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0) + if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags)= < 0) goto error; =20 cleanup: @@ -13592,7 +13605,7 @@ virDomainRNGDefParseXML(virDomainXMLOptionPtr xmlop= t, break; } =20 - if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0) + if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags)= < 0) goto error; =20 if (virDomainVirtioOptionsParseXML(virXPathNode("./driver", ctxt), @@ -13615,7 +13628,8 @@ virDomainRNGDefParseXML(virDomainXMLOptionPtr xmlop= t, =20 =20 static virDomainMemballoonDefPtr -virDomainMemballoonDefParseXML(xmlNodePtr node, +virDomainMemballoonDefParseXML(virDomainXMLOptionPtr xmlopt, + xmlNodePtr node, xmlXPathContextPtr ctxt, unsigned int flags) { @@ -13661,7 +13675,8 @@ virDomainMemballoonDefParseXML(xmlNodePtr node, =20 if (def->model =3D=3D VIR_DOMAIN_MEMBALLOON_MODEL_NONE) VIR_DEBUG("Ignoring device address for none model Memballoon"); - else if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < = 0) + else if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, + &def->info, flags) < 0) goto error; =20 if (virDomainVirtioOptionsParseXML(virXPathNode("./driver", ctxt), @@ -13682,7 +13697,8 @@ virDomainMemballoonDefParseXML(xmlNodePtr node, } =20 static virDomainNVRAMDefPtr -virDomainNVRAMDefParseXML(xmlNodePtr node, +virDomainNVRAMDefParseXML(virDomainXMLOptionPtr xmlopt, + xmlNodePtr node, unsigned int flags) { virDomainNVRAMDefPtr def; @@ -13690,7 +13706,7 @@ virDomainNVRAMDefParseXML(xmlNodePtr node, if (VIR_ALLOC(def) < 0) return NULL; =20 - if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0) + if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags)= < 0) goto error; =20 return def; @@ -13701,7 +13717,8 @@ virDomainNVRAMDefParseXML(xmlNodePtr node, } =20 static virDomainShmemDefPtr -virDomainShmemDefParseXML(xmlNodePtr node, +virDomainShmemDefParseXML(virDomainXMLOptionPtr xmlopt, + xmlNodePtr node, xmlXPathContextPtr ctxt, unsigned int flags) { @@ -13785,7 +13802,7 @@ virDomainShmemDefParseXML(xmlNodePtr node, goto cleanup; } =20 - if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0) + if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags)= < 0) goto cleanup; =20 =20 @@ -14206,7 +14223,8 @@ virDomainVideoDriverDefParseXML(xmlNodePtr node) } =20 static virDomainVideoDefPtr -virDomainVideoDefParseXML(xmlNodePtr node, +virDomainVideoDefParseXML(virDomainXMLOptionPtr xmlopt, + xmlNodePtr node, xmlXPathContextPtr ctxt, const virDomainDef *dom, unsigned int flags) @@ -14320,7 +14338,7 @@ virDomainVideoDefParseXML(xmlNodePtr node, } } =20 - if (virDomainDeviceInfoParseXML(node, NULL, &def->info, flags) < 0) + if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags)= < 0) goto error; =20 def->driver =3D virDomainVideoDriverDefParseXML(node); @@ -14388,7 +14406,7 @@ virDomainHostdevDefParseXML(virDomainXMLOptionPtr x= mlopt, } =20 if (def->info->type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { - if (virDomainDeviceInfoParseXML(node, bootHash, def->info, + if (virDomainDeviceInfoParseXML(xmlopt, node, bootHash, def->info, flags | VIR_DOMAIN_DEF_PARSE_ALLO= W_BOOT | VIR_DOMAIN_DEF_PARSE_ALLOW_ROM) = < 0) goto error; @@ -14475,7 +14493,7 @@ virDomainRedirdevDefParseXML(virDomainXMLOptionPtr = xmlopt, if (def->source->type =3D=3D VIR_DOMAIN_CHR_TYPE_SPICEVMC) def->source->data.spicevmc =3D VIR_DOMAIN_CHR_SPICEVMC_USBREDIR; =20 - if (virDomainDeviceInfoParseXML(node, bootHash, &def->info, + if (virDomainDeviceInfoParseXML(xmlopt, node, bootHash, &def->info, flags | VIR_DOMAIN_DEF_PARSE_ALLOW_BOO= T) < 0) goto error; =20 @@ -14887,7 +14905,8 @@ virDomainMemoryTargetDefParseXML(xmlNodePtr node, =20 =20 static virDomainMemoryDefPtr -virDomainMemoryDefParseXML(xmlNodePtr memdevNode, +virDomainMemoryDefParseXML(virDomainXMLOptionPtr xmlopt, + xmlNodePtr memdevNode, xmlXPathContextPtr ctxt, unsigned int flags) { @@ -14941,7 +14960,8 @@ virDomainMemoryDefParseXML(xmlNodePtr memdevNode, if (virDomainMemoryTargetDefParseXML(node, ctxt, def) < 0) goto error; =20 - if (virDomainDeviceInfoParseXML(memdevNode, NULL, &def->info, flags) <= 0) + if (virDomainDeviceInfoParseXML(xmlopt, memdevNode, + NULL, &def->info, flags) < 0) goto error; =20 ctxt->node =3D save; @@ -15081,7 +15101,7 @@ virDomainDeviceDefParse(const char *xmlStr, goto error; break; case VIR_DOMAIN_DEVICE_FS: - if (!(dev->data.fs =3D virDomainFSDefParseXML(node, ctxt, flags))) + if (!(dev->data.fs =3D virDomainFSDefParseXML(xmlopt, node, ctxt, = flags))) goto error; break; case VIR_DOMAIN_DEVICE_NET: @@ -15091,20 +15111,23 @@ virDomainDeviceDefParse(const char *xmlStr, goto error; break; case VIR_DOMAIN_DEVICE_INPUT: - if (!(dev->data.input =3D virDomainInputDefParseXML(def, node, + if (!(dev->data.input =3D virDomainInputDefParseXML(xmlopt, def, n= ode, ctxt, flags))) goto error; break; case VIR_DOMAIN_DEVICE_SOUND: - if (!(dev->data.sound =3D virDomainSoundDefParseXML(node, ctxt, fl= ags))) + if (!(dev->data.sound =3D virDomainSoundDefParseXML(xmlopt, node, + ctxt, flags))) goto error; break; case VIR_DOMAIN_DEVICE_WATCHDOG: - if (!(dev->data.watchdog =3D virDomainWatchdogDefParseXML(node, fl= ags))) + if (!(dev->data.watchdog =3D virDomainWatchdogDefParseXML(xmlopt, + node, flag= s))) goto error; break; case VIR_DOMAIN_DEVICE_VIDEO: - if (!(dev->data.video =3D virDomainVideoDefParseXML(node, ctxt, de= f, flags))) + if (!(dev->data.video =3D virDomainVideoDefParseXML(xmlopt, node, + ctxt, def, flags= ))) goto error; break; case VIR_DOMAIN_DEVICE_HOSTDEV: @@ -15114,8 +15137,8 @@ virDomainDeviceDefParse(const char *xmlStr, goto error; break; case VIR_DOMAIN_DEVICE_CONTROLLER: - if (!(dev->data.controller =3D virDomainControllerDefParseXML(node= , ctxt, - flags)= )) + if (!(dev->data.controller =3D virDomainControllerDefParseXML(xmlo= pt, node, + ctxt, = flags))) goto error; break; case VIR_DOMAIN_DEVICE_GRAPHICS: @@ -15123,7 +15146,7 @@ virDomainDeviceDefParse(const char *xmlStr, goto error; break; case VIR_DOMAIN_DEVICE_HUB: - if (!(dev->data.hub =3D virDomainHubDefParseXML(node, flags))) + if (!(dev->data.hub =3D virDomainHubDefParseXML(xmlopt, node, flag= s))) goto error; break; case VIR_DOMAIN_DEVICE_REDIRDEV: @@ -15151,29 +15174,32 @@ virDomainDeviceDefParse(const char *xmlStr, goto error; break; case VIR_DOMAIN_DEVICE_MEMBALLOON: - if (!(dev->data.memballoon =3D virDomainMemballoonDefParseXML(node, + if (!(dev->data.memballoon =3D virDomainMemballoonDefParseXML(xmlo= pt, + node, ctxt, flags)= )) goto error; break; case VIR_DOMAIN_DEVICE_NVRAM: - if (!(dev->data.nvram =3D virDomainNVRAMDefParseXML(node, flags))) + if (!(dev->data.nvram =3D virDomainNVRAMDefParseXML(xmlopt, node, = flags))) goto error; break; case VIR_DOMAIN_DEVICE_SHMEM: - if (!(dev->data.shmem =3D virDomainShmemDefParseXML(node, ctxt, fl= ags))) + if (!(dev->data.shmem =3D virDomainShmemDefParseXML(xmlopt, node, + ctxt, flags))) goto error; break; case VIR_DOMAIN_DEVICE_TPM: - if (!(dev->data.tpm =3D virDomainTPMDefParseXML(node, ctxt, flags)= )) + if (!(dev->data.tpm =3D virDomainTPMDefParseXML(xmlopt, node, ctxt= , flags))) goto error; break; case VIR_DOMAIN_DEVICE_PANIC: - if (!(dev->data.panic =3D virDomainPanicDefParseXML(node, flags))) + if (!(dev->data.panic =3D virDomainPanicDefParseXML(xmlopt, node, = flags))) goto error; break; case VIR_DOMAIN_DEVICE_MEMORY: - if (!(dev->data.memory =3D virDomainMemoryDefParseXML(node, ctxt, = flags))) + if (!(dev->data.memory =3D virDomainMemoryDefParseXML(xmlopt, node, + ctxt, flags))) goto error; break; case VIR_DOMAIN_DEVICE_IOMMU: @@ -18750,7 +18776,8 @@ virDomainDefParseXML(xmlDocPtr xml, goto error; =20 for (i =3D 0; i < n; i++) { - virDomainControllerDefPtr controller =3D virDomainControllerDefPar= seXML(nodes[i], + virDomainControllerDefPtr controller =3D virDomainControllerDefPar= seXML(xmlopt, + = nodes[i], = ctxt, = flags); =20 @@ -18816,7 +18843,9 @@ virDomainDefParseXML(xmlDocPtr xml, if (n && VIR_ALLOC_N(def->fss, n) < 0) goto error; for (i =3D 0; i < n; i++) { - virDomainFSDefPtr fs =3D virDomainFSDefParseXML(nodes[i], ctxt, + virDomainFSDefPtr fs =3D virDomainFSDefParseXML(xmlopt, + nodes[i], + ctxt, flags); if (!fs) goto error; @@ -18980,7 +19009,8 @@ virDomainDefParseXML(xmlDocPtr xml, goto error; =20 for (i =3D 0; i < n; i++) { - virDomainInputDefPtr input =3D virDomainInputDefParseXML(def, + virDomainInputDefPtr input =3D virDomainInputDefParseXML(xmlopt, + def, nodes[i], ctxt, flags); @@ -19022,7 +19052,8 @@ virDomainDefParseXML(xmlDocPtr xml, if (n && VIR_ALLOC_N(def->sounds, n) < 0) goto error; for (i =3D 0; i < n; i++) { - virDomainSoundDefPtr sound =3D virDomainSoundDefParseXML(nodes[i], + virDomainSoundDefPtr sound =3D virDomainSoundDefParseXML(xmlopt, + nodes[i], ctxt, flags); if (!sound) @@ -19041,7 +19072,8 @@ virDomainDefParseXML(xmlDocPtr xml, virDomainVideoDefPtr video; ssize_t insertAt =3D -1; =20 - if (!(video =3D virDomainVideoDefParseXML(nodes[i], ctxt, def, fla= gs))) + if (!(video =3D virDomainVideoDefParseXML(xmlopt, nodes[i], + ctxt, def, flags))) goto error; =20 if (video->primary) { @@ -19110,8 +19142,9 @@ virDomainDefParseXML(xmlDocPtr xml, goto error; } if (n > 0) { - virDomainWatchdogDefPtr watchdog =3D - virDomainWatchdogDefParseXML(nodes[0], flags); + virDomainWatchdogDefPtr watchdog; + + watchdog =3D virDomainWatchdogDefParseXML(xmlopt, nodes[0], flags); if (!watchdog) goto error; =20 @@ -19129,8 +19162,9 @@ virDomainDefParseXML(xmlDocPtr xml, goto error; } if (n > 0) { - virDomainMemballoonDefPtr memballoon =3D - virDomainMemballoonDefParseXML(nodes[0], ctxt, flags); + virDomainMemballoonDefPtr memballoon; + + memballoon =3D virDomainMemballoonDefParseXML(xmlopt, nodes[0], ct= xt, flags); if (!memballoon) goto error; =20 @@ -19164,7 +19198,7 @@ virDomainDefParseXML(xmlDocPtr xml, } =20 if (n > 0) { - if (!(def->tpm =3D virDomainTPMDefParseXML(nodes[0], ctxt, flags))) + if (!(def->tpm =3D virDomainTPMDefParseXML(xmlopt, nodes[0], ctxt,= flags))) goto error; } VIR_FREE(nodes); @@ -19178,7 +19212,7 @@ virDomainDefParseXML(xmlDocPtr xml, goto error; } else if (n =3D=3D 1) { virDomainNVRAMDefPtr nvram =3D - virDomainNVRAMDefParseXML(nodes[0], flags); + virDomainNVRAMDefParseXML(xmlopt, nodes[0], flags); if (!nvram) goto error; def->nvram =3D nvram; @@ -19191,7 +19225,9 @@ virDomainDefParseXML(xmlDocPtr xml, if (n && VIR_ALLOC_N(def->hubs, n) < 0) goto error; for (i =3D 0; i < n; i++) { - virDomainHubDefPtr hub =3D virDomainHubDefParseXML(nodes[i], flags= ); + virDomainHubDefPtr hub; + + hub =3D virDomainHubDefParseXML(xmlopt, nodes[i], flags); if (!hub) goto error; =20 @@ -19247,7 +19283,9 @@ virDomainDefParseXML(xmlDocPtr xml, if (n && VIR_ALLOC_N(def->panics, n) < 0) goto error; for (i =3D 0; i < n; i++) { - virDomainPanicDefPtr panic =3D virDomainPanicDefParseXML(nodes[i],= flags); + virDomainPanicDefPtr panic; + + panic =3D virDomainPanicDefParseXML(xmlopt, nodes[i], flags); if (!panic) goto error; =20 @@ -19265,7 +19303,7 @@ virDomainDefParseXML(xmlDocPtr xml, for (i =3D 0; i < n; i++) { virDomainShmemDefPtr shmem; ctxt->node =3D nodes[i]; - shmem =3D virDomainShmemDefParseXML(nodes[i], ctxt, flags); + shmem =3D virDomainShmemDefParseXML(xmlopt, nodes[i], ctxt, flags); if (!shmem) goto error; =20 @@ -19281,7 +19319,8 @@ virDomainDefParseXML(xmlDocPtr xml, goto error; =20 for (i =3D 0; i < n; i++) { - virDomainMemoryDefPtr mem =3D virDomainMemoryDefParseXML(nodes[i], + virDomainMemoryDefPtr mem =3D virDomainMemoryDefParseXML(xmlopt, + nodes[i], ctxt, flags); if (!mem) --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list