提交 fe9454c7 编写于 作者: J Ján Tomko

conf: remove 'bootHash' completely

Its only use is now to check for duplicate boot order values,
which is now also done in virDomainDefPostParseCommon.

Remove it completely.
Signed-off-by: NJán Tomko <jtomko@redhat.com>
上级 a17b0882
...@@ -6585,8 +6585,7 @@ virDomainDeviceUSBMasterParseXML(xmlNodePtr node, ...@@ -6585,8 +6585,7 @@ virDomainDeviceUSBMasterParseXML(xmlNodePtr node,
static int static int
virDomainDeviceBootParseXML(xmlNodePtr node, virDomainDeviceBootParseXML(xmlNodePtr node,
virDomainDeviceInfoPtr info, virDomainDeviceInfoPtr info)
virHashTablePtr bootHash)
{ {
char *order; char *order;
char *loadparm = NULL; char *loadparm = NULL;
...@@ -6606,18 +6605,6 @@ virDomainDeviceBootParseXML(xmlNodePtr node, ...@@ -6606,18 +6605,6 @@ virDomainDeviceBootParseXML(xmlNodePtr node,
goto cleanup; goto cleanup;
} }
if (bootHash) {
if (virHashLookup(bootHash, order)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("boot order '%s' used for more than one device"),
order);
goto cleanup;
}
if (virHashAddEntry(bootHash, order, (void *) 1) < 0)
goto cleanup;
}
loadparm = virXMLPropString(node, "loadparm"); loadparm = virXMLPropString(node, "loadparm");
if (loadparm) { if (loadparm) {
if (virStringToUpper(&info->loadparm, loadparm) != 1) { if (virStringToUpper(&info->loadparm, loadparm) != 1) {
...@@ -6815,7 +6802,6 @@ virDomainDeviceAliasIsUserAlias(const char *aliasStr) ...@@ -6815,7 +6802,6 @@ virDomainDeviceAliasIsUserAlias(const char *aliasStr)
static int static int
virDomainDeviceInfoParseXML(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED, virDomainDeviceInfoParseXML(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED,
xmlNodePtr node, xmlNodePtr node,
virHashTablePtr bootHash,
virDomainDeviceInfoPtr info, virDomainDeviceInfoPtr info,
unsigned int flags) unsigned int flags)
{ {
...@@ -6875,7 +6861,7 @@ virDomainDeviceInfoParseXML(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED, ...@@ -6875,7 +6861,7 @@ virDomainDeviceInfoParseXML(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED,
} }
if (boot) { if (boot) {
if (virDomainDeviceBootParseXML(boot, info, bootHash)) if (virDomainDeviceBootParseXML(boot, info))
goto cleanup; goto cleanup;
} }
...@@ -9400,7 +9386,6 @@ static virDomainDiskDefPtr ...@@ -9400,7 +9386,6 @@ static virDomainDiskDefPtr
virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt, virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
xmlNodePtr node, xmlNodePtr node,
xmlXPathContextPtr ctxt, xmlXPathContextPtr ctxt,
virHashTablePtr bootHash,
virSecurityLabelDefPtr* vmSeclabels, virSecurityLabelDefPtr* vmSeclabels,
int nvmSeclabels, int nvmSeclabels,
unsigned int flags) unsigned int flags)
...@@ -9767,7 +9752,7 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -9767,7 +9752,7 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
} }
def->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI; def->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI;
} else { } else {
if (virDomainDeviceInfoParseXML(xmlopt, node, bootHash, &def->info, if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info,
flags | VIR_DOMAIN_DEF_PARSE_ALLOW_BOOT) < 0) flags | VIR_DOMAIN_DEF_PARSE_ALLOW_BOOT) < 0)
goto error; goto error;
} }
...@@ -10258,7 +10243,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -10258,7 +10243,7 @@ virDomainControllerDefParseXML(virDomainXMLOptionPtr xmlopt,
if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_USB && if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_USB &&
def->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE) { def->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE) {
VIR_DEBUG("Ignoring device address for none model usb controller"); VIR_DEBUG("Ignoring device address for none model usb controller");
} else if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, } else if (virDomainDeviceInfoParseXML(xmlopt, node,
&def->info, flags) < 0) { &def->info, flags) < 0) {
goto error; goto error;
} }
...@@ -10646,7 +10631,7 @@ virDomainFSDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -10646,7 +10631,7 @@ virDomainFSDefParseXML(virDomainXMLOptionPtr xmlopt,
def->dst = target; def->dst = target;
target = NULL; target = NULL;
if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0) if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
goto error; goto error;
cleanup: cleanup:
...@@ -10936,7 +10921,6 @@ static virDomainNetDefPtr ...@@ -10936,7 +10921,6 @@ static virDomainNetDefPtr
virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt, virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
xmlNodePtr node, xmlNodePtr node,
xmlXPathContextPtr ctxt, xmlXPathContextPtr ctxt,
virHashTablePtr bootHash,
char *prefix, char *prefix,
unsigned int flags) unsigned int flags)
{ {
...@@ -11224,7 +11208,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -11224,7 +11208,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
} }
def->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI; def->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI;
} else { } else {
if (virDomainDeviceInfoParseXML(xmlopt, node, bootHash, &def->info, if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info,
flags | VIR_DOMAIN_DEF_PARSE_ALLOW_BOOT flags | VIR_DOMAIN_DEF_PARSE_ALLOW_BOOT
| VIR_DOMAIN_DEF_PARSE_ALLOW_ROM) < 0) | VIR_DOMAIN_DEF_PARSE_ALLOW_ROM) < 0)
goto error; goto error;
...@@ -12523,7 +12507,7 @@ virDomainChrDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -12523,7 +12507,7 @@ virDomainChrDefParseXML(virDomainXMLOptionPtr xmlopt,
if (def->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL && if (def->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CHANNEL &&
def->targetType == VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_GUESTFWD) { def->targetType == VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_GUESTFWD) {
VIR_DEBUG("Ignoring device address for gustfwd channel"); VIR_DEBUG("Ignoring device address for gustfwd channel");
} else if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, } else if (virDomainDeviceInfoParseXML(xmlopt, node,
&def->info, flags) < 0) { &def->info, flags) < 0) {
goto error; goto error;
} }
...@@ -12661,7 +12645,7 @@ virDomainSmartcardDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -12661,7 +12645,7 @@ virDomainSmartcardDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error; goto error;
} }
if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0) if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
goto error; goto error;
if (def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE && if (def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE &&
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCID) { def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCID) {
...@@ -12762,7 +12746,7 @@ virDomainTPMDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -12762,7 +12746,7 @@ virDomainTPMDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error; goto error;
} }
if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0) if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
goto error; goto error;
cleanup: cleanup:
...@@ -12791,7 +12775,7 @@ virDomainPanicDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -12791,7 +12775,7 @@ virDomainPanicDefParseXML(virDomainXMLOptionPtr xmlopt,
if (VIR_ALLOC(panic) < 0) if (VIR_ALLOC(panic) < 0)
return NULL; return NULL;
if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, if (virDomainDeviceInfoParseXML(xmlopt, node,
&panic->info, flags) < 0) &panic->info, flags) < 0)
goto error; goto error;
...@@ -12927,7 +12911,7 @@ virDomainInputDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -12927,7 +12911,7 @@ virDomainInputDefParseXML(virDomainXMLOptionPtr xmlopt,
} }
} }
if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0) if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
goto error; goto error;
if (def->bus == VIR_DOMAIN_INPUT_BUS_USB && if (def->bus == VIR_DOMAIN_INPUT_BUS_USB &&
...@@ -12991,7 +12975,7 @@ virDomainHubDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -12991,7 +12975,7 @@ virDomainHubDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error; goto error;
} }
if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0) if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
goto error; goto error;
cleanup: cleanup:
...@@ -14148,7 +14132,7 @@ virDomainSoundDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -14148,7 +14132,7 @@ virDomainSoundDefParseXML(virDomainXMLOptionPtr xmlopt,
} }
} }
if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0) if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
goto error; goto error;
cleanup: cleanup:
...@@ -14202,7 +14186,7 @@ virDomainWatchdogDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -14202,7 +14186,7 @@ virDomainWatchdogDefParseXML(virDomainXMLOptionPtr xmlopt,
} }
} }
if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0) if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
goto error; goto error;
cleanup: cleanup:
...@@ -14314,7 +14298,7 @@ virDomainRNGDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -14314,7 +14298,7 @@ virDomainRNGDefParseXML(virDomainXMLOptionPtr xmlopt,
break; break;
} }
if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0) if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
goto error; goto error;
if (virDomainVirtioOptionsParseXML(virXPathNode("./driver", ctxt), if (virDomainVirtioOptionsParseXML(virXPathNode("./driver", ctxt),
...@@ -14384,7 +14368,7 @@ virDomainMemballoonDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -14384,7 +14368,7 @@ virDomainMemballoonDefParseXML(virDomainXMLOptionPtr xmlopt,
if (def->model == VIR_DOMAIN_MEMBALLOON_MODEL_NONE) if (def->model == VIR_DOMAIN_MEMBALLOON_MODEL_NONE)
VIR_DEBUG("Ignoring device address for none model Memballoon"); VIR_DEBUG("Ignoring device address for none model Memballoon");
else if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, else if (virDomainDeviceInfoParseXML(xmlopt, node,
&def->info, flags) < 0) &def->info, flags) < 0)
goto error; goto error;
...@@ -14415,7 +14399,7 @@ virDomainNVRAMDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -14415,7 +14399,7 @@ virDomainNVRAMDefParseXML(virDomainXMLOptionPtr xmlopt,
if (VIR_ALLOC(def) < 0) if (VIR_ALLOC(def) < 0)
return NULL; return NULL;
if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0) if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
goto error; goto error;
return def; return def;
...@@ -14511,7 +14495,7 @@ virDomainShmemDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -14511,7 +14495,7 @@ virDomainShmemDefParseXML(virDomainXMLOptionPtr xmlopt,
goto cleanup; goto cleanup;
} }
if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0) if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
goto cleanup; goto cleanup;
...@@ -15165,7 +15149,7 @@ virDomainVideoDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -15165,7 +15149,7 @@ virDomainVideoDefParseXML(virDomainXMLOptionPtr xmlopt,
} }
} }
if (virDomainDeviceInfoParseXML(xmlopt, node, NULL, &def->info, flags) < 0) if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info, flags) < 0)
goto error; goto error;
def->driver = virDomainVideoDriverDefParseXML(node); def->driver = virDomainVideoDriverDefParseXML(node);
...@@ -15192,7 +15176,6 @@ static virDomainHostdevDefPtr ...@@ -15192,7 +15176,6 @@ static virDomainHostdevDefPtr
virDomainHostdevDefParseXML(virDomainXMLOptionPtr xmlopt, virDomainHostdevDefParseXML(virDomainXMLOptionPtr xmlopt,
xmlNodePtr node, xmlNodePtr node,
xmlXPathContextPtr ctxt, xmlXPathContextPtr ctxt,
virHashTablePtr bootHash,
unsigned int flags) unsigned int flags)
{ {
virDomainHostdevDefPtr def; virDomainHostdevDefPtr def;
...@@ -15233,7 +15216,7 @@ virDomainHostdevDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -15233,7 +15216,7 @@ virDomainHostdevDefParseXML(virDomainXMLOptionPtr xmlopt,
} }
if (def->info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { if (def->info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) {
if (virDomainDeviceInfoParseXML(xmlopt, node, bootHash, def->info, if (virDomainDeviceInfoParseXML(xmlopt, node, def->info,
flags | VIR_DOMAIN_DEF_PARSE_ALLOW_BOOT flags | VIR_DOMAIN_DEF_PARSE_ALLOW_BOOT
| VIR_DOMAIN_DEF_PARSE_ALLOW_ROM) < 0) | VIR_DOMAIN_DEF_PARSE_ALLOW_ROM) < 0)
goto error; goto error;
...@@ -15273,7 +15256,6 @@ static virDomainRedirdevDefPtr ...@@ -15273,7 +15256,6 @@ static virDomainRedirdevDefPtr
virDomainRedirdevDefParseXML(virDomainXMLOptionPtr xmlopt, virDomainRedirdevDefParseXML(virDomainXMLOptionPtr xmlopt,
xmlNodePtr node, xmlNodePtr node,
xmlXPathContextPtr ctxt, xmlXPathContextPtr ctxt,
virHashTablePtr bootHash,
unsigned int flags) unsigned int flags)
{ {
xmlNodePtr cur; xmlNodePtr cur;
...@@ -15320,7 +15302,7 @@ virDomainRedirdevDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -15320,7 +15302,7 @@ virDomainRedirdevDefParseXML(virDomainXMLOptionPtr xmlopt,
if (def->source->type == VIR_DOMAIN_CHR_TYPE_SPICEVMC) if (def->source->type == VIR_DOMAIN_CHR_TYPE_SPICEVMC)
def->source->data.spicevmc = VIR_DOMAIN_CHR_SPICEVMC_USBREDIR; def->source->data.spicevmc = VIR_DOMAIN_CHR_SPICEVMC_USBREDIR;
if (virDomainDeviceInfoParseXML(xmlopt, node, bootHash, &def->info, if (virDomainDeviceInfoParseXML(xmlopt, node, &def->info,
flags | VIR_DOMAIN_DEF_PARSE_ALLOW_BOOT) < 0) flags | VIR_DOMAIN_DEF_PARSE_ALLOW_BOOT) < 0)
goto error; goto error;
...@@ -15799,7 +15781,7 @@ virDomainMemoryDefParseXML(virDomainXMLOptionPtr xmlopt, ...@@ -15799,7 +15781,7 @@ virDomainMemoryDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error; goto error;
if (virDomainDeviceInfoParseXML(xmlopt, memdevNode, if (virDomainDeviceInfoParseXML(xmlopt, memdevNode,
NULL, &def->info, flags) < 0) &def->info, flags) < 0)
goto error; goto error;
ctxt->node = save; ctxt->node = save;
...@@ -15929,7 +15911,7 @@ virDomainDeviceDefParse(const char *xmlStr, ...@@ -15929,7 +15911,7 @@ virDomainDeviceDefParse(const char *xmlStr,
switch ((virDomainDeviceType) dev->type) { switch ((virDomainDeviceType) dev->type) {
case VIR_DOMAIN_DEVICE_DISK: case VIR_DOMAIN_DEVICE_DISK:
if (!(dev->data.disk = virDomainDiskDefParseXML(xmlopt, node, ctxt, if (!(dev->data.disk = virDomainDiskDefParseXML(xmlopt, node, ctxt,
NULL, def->seclabels, def->seclabels,
def->nseclabels, def->nseclabels,
flags))) flags)))
goto error; goto error;
...@@ -15945,7 +15927,7 @@ virDomainDeviceDefParse(const char *xmlStr, ...@@ -15945,7 +15927,7 @@ virDomainDeviceDefParse(const char *xmlStr,
case VIR_DOMAIN_DEVICE_NET: case VIR_DOMAIN_DEVICE_NET:
netprefix = caps->host.netprefix; netprefix = caps->host.netprefix;
if (!(dev->data.net = virDomainNetDefParseXML(xmlopt, node, ctxt, if (!(dev->data.net = virDomainNetDefParseXML(xmlopt, node, ctxt,
NULL, netprefix, flags))) netprefix, flags)))
goto error; goto error;
break; break;
case VIR_DOMAIN_DEVICE_INPUT: case VIR_DOMAIN_DEVICE_INPUT:
...@@ -15970,7 +15952,7 @@ virDomainDeviceDefParse(const char *xmlStr, ...@@ -15970,7 +15952,7 @@ virDomainDeviceDefParse(const char *xmlStr,
break; break;
case VIR_DOMAIN_DEVICE_HOSTDEV: case VIR_DOMAIN_DEVICE_HOSTDEV:
if (!(dev->data.hostdev = virDomainHostdevDefParseXML(xmlopt, node, if (!(dev->data.hostdev = virDomainHostdevDefParseXML(xmlopt, node,
ctxt, NULL, ctxt,
flags))) flags)))
goto error; goto error;
break; break;
...@@ -15989,7 +15971,7 @@ virDomainDeviceDefParse(const char *xmlStr, ...@@ -15989,7 +15971,7 @@ virDomainDeviceDefParse(const char *xmlStr,
break; break;
case VIR_DOMAIN_DEVICE_REDIRDEV: case VIR_DOMAIN_DEVICE_REDIRDEV:
if (!(dev->data.redirdev = virDomainRedirdevDefParseXML(xmlopt, node, if (!(dev->data.redirdev = virDomainRedirdevDefParseXML(xmlopt, node,
ctxt, NULL, flags))) ctxt, flags)))
goto error; goto error;
break; break;
case VIR_DOMAIN_DEVICE_RNG: case VIR_DOMAIN_DEVICE_RNG:
...@@ -16096,7 +16078,7 @@ virDomainDiskDefParse(const char *xmlStr, ...@@ -16096,7 +16078,7 @@ virDomainDiskDefParse(const char *xmlStr,
} }
disk = virDomainDiskDefParseXML(xmlopt, ctxt->node, ctxt, disk = virDomainDiskDefParseXML(xmlopt, ctxt->node, ctxt,
NULL, seclabels, nseclabels, flags); seclabels, nseclabels, flags);
cleanup: cleanup:
xmlFreeDoc(xml); xmlFreeDoc(xml);
...@@ -18476,8 +18458,7 @@ virDomainVcpuParse(virDomainDefPtr def, ...@@ -18476,8 +18458,7 @@ virDomainVcpuParse(virDomainDefPtr def,
static int static int
virDomainDefParseBootOptions(virDomainDefPtr def, virDomainDefParseBootOptions(virDomainDefPtr def,
xmlXPathContextPtr ctxt, xmlXPathContextPtr ctxt)
virHashTablePtr *bootHash)
{ {
xmlNodePtr *nodes = NULL; xmlNodePtr *nodes = NULL;
char *tmp = NULL; char *tmp = NULL;
...@@ -18609,8 +18590,6 @@ virDomainDefParseBootOptions(virDomainDefPtr def, ...@@ -18609,8 +18590,6 @@ virDomainDefParseBootOptions(virDomainDefPtr def,
if (virDomainDefParseBootXML(ctxt, def) < 0) if (virDomainDefParseBootXML(ctxt, def) < 0)
goto error; goto error;
if (!(*bootHash = virHashCreate(5, NULL)))
goto error;
} }
ret = 0; ret = 0;
...@@ -18827,7 +18806,6 @@ virDomainDefParseXML(xmlDocPtr xml, ...@@ -18827,7 +18806,6 @@ virDomainDefParseXML(xmlDocPtr xml,
long id = -1; long id = -1;
virDomainDefPtr def; virDomainDefPtr def;
bool uuid_generated = false; bool uuid_generated = false;
virHashTablePtr bootHash = NULL;
bool usb_none = false; bool usb_none = false;
bool usb_other = false; bool usb_other = false;
bool usb_master = false; bool usb_master = false;
...@@ -19872,7 +19850,7 @@ virDomainDefParseXML(xmlDocPtr xml, ...@@ -19872,7 +19850,7 @@ virDomainDefParseXML(xmlDocPtr xml,
} }
VIR_FREE(nodes); VIR_FREE(nodes);
if (virDomainDefParseBootOptions(def, ctxt, &bootHash) < 0) if (virDomainDefParseBootOptions(def, ctxt) < 0)
goto error; goto error;
/* analysis of the disk devices */ /* analysis of the disk devices */
...@@ -19886,7 +19864,6 @@ virDomainDefParseXML(xmlDocPtr xml, ...@@ -19886,7 +19864,6 @@ virDomainDefParseXML(xmlDocPtr xml,
virDomainDiskDefPtr disk = virDomainDiskDefParseXML(xmlopt, virDomainDiskDefPtr disk = virDomainDiskDefParseXML(xmlopt,
nodes[i], nodes[i],
ctxt, ctxt,
bootHash,
def->seclabels, def->seclabels,
def->nseclabels, def->nseclabels,
flags); flags);
...@@ -19993,7 +19970,6 @@ virDomainDefParseXML(xmlDocPtr xml, ...@@ -19993,7 +19970,6 @@ virDomainDefParseXML(xmlDocPtr xml,
virDomainNetDefPtr net = virDomainNetDefParseXML(xmlopt, virDomainNetDefPtr net = virDomainNetDefParseXML(xmlopt,
nodes[i], nodes[i],
ctxt, ctxt,
bootHash,
netprefix, netprefix,
flags); flags);
if (!net) if (!net)
...@@ -20235,7 +20211,7 @@ virDomainDefParseXML(xmlDocPtr xml, ...@@ -20235,7 +20211,7 @@ virDomainDefParseXML(xmlDocPtr xml,
virDomainHostdevDefPtr hostdev; virDomainHostdevDefPtr hostdev;
hostdev = virDomainHostdevDefParseXML(xmlopt, nodes[i], ctxt, hostdev = virDomainHostdevDefParseXML(xmlopt, nodes[i], ctxt,
bootHash, flags); flags);
if (!hostdev) if (!hostdev)
goto error; goto error;
...@@ -20379,7 +20355,7 @@ virDomainDefParseXML(xmlDocPtr xml, ...@@ -20379,7 +20355,7 @@ virDomainDefParseXML(xmlDocPtr xml,
goto error; goto error;
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
virDomainRedirdevDefPtr redirdev = virDomainRedirdevDefPtr redirdev =
virDomainRedirdevDefParseXML(xmlopt, nodes[i], ctxt, bootHash, flags); virDomainRedirdevDefParseXML(xmlopt, nodes[i], ctxt, flags);
if (!redirdev) if (!redirdev)
goto error; goto error;
...@@ -20553,14 +20529,11 @@ virDomainDefParseXML(xmlDocPtr xml, ...@@ -20553,14 +20529,11 @@ virDomainDefParseXML(xmlDocPtr xml,
if (virDomainDefValidate(def, caps, flags, xmlopt) < 0) if (virDomainDefValidate(def, caps, flags, xmlopt) < 0)
goto error; goto error;
virHashFree(bootHash);
return def; return def;
error: error:
VIR_FREE(tmp); VIR_FREE(tmp);
VIR_FREE(nodes); VIR_FREE(nodes);
virHashFree(bootHash);
virDomainDefFree(def); virDomainDefFree(def);
return NULL; return NULL;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册