conf: node_device: Remove virNodeDeviceDefParseNode

Both callers be easily made to call virNodeDeviceDefParseXML directly.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2022-09-23 10:44:13 +02:00
parent 5ea1d04322
commit 23f301bd2d
4 changed files with 13 additions and 37 deletions

View File

@ -2370,7 +2370,7 @@ virNodeDevCapsDefParseXML(xmlXPathContextPtr ctxt,
} }
static virNodeDeviceDef * virNodeDeviceDef *
virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt, virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt,
int create, int create,
const char *virt_type) const char *virt_type)
@ -2473,30 +2473,6 @@ virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt,
} }
virNodeDeviceDef *
virNodeDeviceDefParseNode(xmlDocPtr xml,
xmlNodePtr root,
int create,
const char *virt_type)
{
g_autoptr(xmlXPathContext) ctxt = NULL;
if (!virXMLNodeNameEqual(root, "device")) {
virReportError(VIR_ERR_XML_ERROR,
_("unexpected root element <%s> "
"expecting <device>"),
root->name);
return NULL;
}
if (!(ctxt = virXMLXPathContextNew(xml)))
return NULL;
ctxt->node = root;
return virNodeDeviceDefParseXML(ctxt, create, virt_type);
}
static virNodeDeviceDef * static virNodeDeviceDef *
virNodeDeviceDefParse(const char *str, virNodeDeviceDefParse(const char *str,
const char *filename, const char *filename,
@ -2506,12 +2482,14 @@ virNodeDeviceDefParse(const char *str,
void *opaque) void *opaque)
{ {
g_autoptr(xmlDoc) xml = NULL; g_autoptr(xmlDoc) xml = NULL;
g_autoptr(xmlXPathContext) ctxt = NULL;
g_autoptr(virNodeDeviceDef) def = NULL; g_autoptr(virNodeDeviceDef) def = NULL;
if (!(xml = virXMLParse(filename, str, _("(node_device_definition)"), if (!(xml = virXMLParse(filename, str, _("(node_device_definition)"),
NULL, NULL, NULL, false)) || "device", &ctxt, NULL, false)))
!(def = virNodeDeviceDefParseNode(xml, xmlDocGetRootElement(xml), return NULL;
create, virt_type)))
if (!(def = virNodeDeviceDefParseXML(ctxt, create, virt_type)))
return NULL; return NULL;
if (parserCallbacks) { if (parserCallbacks) {

View File

@ -391,10 +391,9 @@ virNodeDeviceDefParseFile(const char *filename,
void *opaque); void *opaque);
virNodeDeviceDef * virNodeDeviceDef *
virNodeDeviceDefParseNode(xmlDocPtr xml, virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt,
xmlNodePtr root, int create,
int create, const char *virt_type);
const char *virt_type);
int int
virNodeDeviceGetWWNs(virNodeDeviceDef *def, virNodeDeviceGetWWNs(virNodeDeviceDef *def,

View File

@ -866,8 +866,8 @@ virNodeDeviceCapsListExport;
virNodeDeviceDefFormat; virNodeDeviceDefFormat;
virNodeDeviceDefFree; virNodeDeviceDefFree;
virNodeDeviceDefParseFile; virNodeDeviceDefParseFile;
virNodeDeviceDefParseNode;
virNodeDeviceDefParseString; virNodeDeviceDefParseString;
virNodeDeviceDefParseXML;
virNodeDeviceGetAPMatrixDynamicCaps; virNodeDeviceGetAPMatrixDynamicCaps;
virNodeDeviceGetCSSDynamicCaps; virNodeDeviceGetCSSDynamicCaps;
virNodeDeviceGetMdevParentDynamicCaps; virNodeDeviceGetMdevParentDynamicCaps;

View File

@ -1236,6 +1236,7 @@ testParseNodedevs(testDriver *privconn,
const char *file, const char *file,
xmlXPathContextPtr ctxt) xmlXPathContextPtr ctxt)
{ {
VIR_XPATH_NODE_AUTORESTORE(ctxt)
int num; int num;
size_t i; size_t i;
virNodeDeviceObj *obj; virNodeDeviceObj *obj;
@ -1247,13 +1248,11 @@ testParseNodedevs(testDriver *privconn,
for (i = 0; i < num; i++) { for (i = 0; i < num; i++) {
virNodeDeviceDef *def; virNodeDeviceDef *def;
xmlNodePtr node = testParseXMLDocFromFile(nodes[i], file);
if (!node) if (!(ctxt->node = testParseXMLDocFromFile(nodes[i], file)))
return -1; return -1;
def = virNodeDeviceDefParseNode(ctxt->doc, node, 0, NULL); if (!(def = virNodeDeviceDefParseXML(ctxt, 0, NULL)))
if (!def)
return -1; return -1;
if (!(obj = virNodeDeviceObjListAssignDef(privconn->devs, def))) { if (!(obj = virNodeDeviceObjListAssignDef(privconn->devs, def))) {