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

Report errors in virCapabilitiesFormatXML

So far, we only report an error if formatting the siblings bitmap
in NUMA topology fails.

Be consistent and always report error in virCapabilitiesFormatXML.
上级 058d89b9
...@@ -150,10 +150,8 @@ bhyveConnectGetCapabilities(virConnectPtr conn) ...@@ -150,10 +150,8 @@ bhyveConnectGetCapabilities(virConnectPtr conn)
goto cleanup; goto cleanup;
} }
if (!(xml = virCapabilitiesFormatXML(caps))) { if (!(xml = virCapabilitiesFormatXML(caps)))
virReportOOMError();
goto cleanup; goto cleanup;
}
cleanup: cleanup:
virObjectUnref(caps); virObjectUnref(caps);
......
...@@ -1025,10 +1025,8 @@ virCapabilitiesFormatXML(virCapsPtr caps) ...@@ -1025,10 +1025,8 @@ virCapabilitiesFormatXML(virCapsPtr caps)
virBufferAdjustIndent(&buf, -2); virBufferAdjustIndent(&buf, -2);
virBufferAddLit(&buf, "</capabilities>\n"); virBufferAddLit(&buf, "</capabilities>\n");
if (virBufferError(&buf)) { if (virBufferCheckError(&buf) < 0)
virBufferFreeAndReset(&buf);
return NULL; return NULL;
}
return virBufferContentAndReset(&buf); return virBufferContentAndReset(&buf);
} }
......
...@@ -1420,14 +1420,8 @@ static char * ...@@ -1420,14 +1420,8 @@ static char *
esxConnectGetCapabilities(virConnectPtr conn) esxConnectGetCapabilities(virConnectPtr conn)
{ {
esxPrivate *priv = conn->privateData; esxPrivate *priv = conn->privateData;
char *xml = virCapabilitiesFormatXML(priv->caps);
if (!xml) { return virCapabilitiesFormatXML(priv->caps);
virReportOOMError();
return NULL;
}
return xml;
} }
......
...@@ -594,8 +594,7 @@ libxlConnectGetCapabilities(virConnectPtr conn) ...@@ -594,8 +594,7 @@ libxlConnectGetCapabilities(virConnectPtr conn)
return NULL; return NULL;
cfg = libxlDriverConfigGet(driver); cfg = libxlDriverConfigGet(driver);
if ((xml = virCapabilitiesFormatXML(cfg->caps)) == NULL) xml = virCapabilitiesFormatXML(cfg->caps);
virReportOOMError();
virObjectUnref(cfg); virObjectUnref(cfg);
return xml; return xml;
......
...@@ -232,8 +232,7 @@ static char *lxcConnectGetCapabilities(virConnectPtr conn) { ...@@ -232,8 +232,7 @@ static char *lxcConnectGetCapabilities(virConnectPtr conn) {
if (!(caps = virLXCDriverGetCapabilities(driver, false))) if (!(caps = virLXCDriverGetCapabilities(driver, false)))
return NULL; return NULL;
if ((xml = virCapabilitiesFormatXML(caps)) == NULL) xml = virCapabilitiesFormatXML(caps);
virReportOOMError();
virObjectUnref(caps); virObjectUnref(caps);
return xml; return xml;
......
...@@ -186,8 +186,7 @@ parallelsConnectGetCapabilities(virConnectPtr conn) ...@@ -186,8 +186,7 @@ parallelsConnectGetCapabilities(virConnectPtr conn)
char *xml; char *xml;
parallelsDriverLock(privconn); parallelsDriverLock(privconn);
if ((xml = virCapabilitiesFormatXML(privconn->caps)) == NULL) xml = virCapabilitiesFormatXML(privconn->caps);
virReportOOMError();
parallelsDriverUnlock(privconn); parallelsDriverUnlock(privconn);
return xml; return xml;
} }
......
...@@ -3582,12 +3582,8 @@ static char * ...@@ -3582,12 +3582,8 @@ static char *
phypConnectGetCapabilities(virConnectPtr conn) phypConnectGetCapabilities(virConnectPtr conn)
{ {
phyp_driverPtr phyp_driver = conn->privateData; phyp_driverPtr phyp_driver = conn->privateData;
char *xml;
if ((xml = virCapabilitiesFormatXML(phyp_driver->caps)) == NULL) return virCapabilitiesFormatXML(phyp_driver->caps);
virReportOOMError();
return xml;
} }
static int static int
......
...@@ -1245,8 +1245,7 @@ static char *qemuConnectGetCapabilities(virConnectPtr conn) { ...@@ -1245,8 +1245,7 @@ static char *qemuConnectGetCapabilities(virConnectPtr conn) {
if (!(caps = virQEMUDriverGetCapabilities(driver, true))) if (!(caps = virQEMUDriverGetCapabilities(driver, true)))
goto cleanup; goto cleanup;
if ((xml = virCapabilitiesFormatXML(caps)) == NULL) xml = virCapabilitiesFormatXML(caps);
virReportOOMError();
virObjectUnref(caps); virObjectUnref(caps);
cleanup: cleanup:
......
...@@ -1677,8 +1677,7 @@ static char *testConnectGetCapabilities(virConnectPtr conn) ...@@ -1677,8 +1677,7 @@ static char *testConnectGetCapabilities(virConnectPtr conn)
testConnPtr privconn = conn->privateData; testConnPtr privconn = conn->privateData;
char *xml; char *xml;
testDriverLock(privconn); testDriverLock(privconn);
if ((xml = virCapabilitiesFormatXML(privconn->caps)) == NULL) xml = virCapabilitiesFormatXML(privconn->caps);
virReportOOMError();
testDriverUnlock(privconn); testDriverUnlock(privconn);
return xml; return xml;
} }
......
...@@ -1310,8 +1310,7 @@ static char *umlConnectGetCapabilities(virConnectPtr conn) { ...@@ -1310,8 +1310,7 @@ static char *umlConnectGetCapabilities(virConnectPtr conn) {
return NULL; return NULL;
umlDriverLock(driver); umlDriverLock(driver);
if ((xml = virCapabilitiesFormatXML(driver->caps)) == NULL) xml = virCapabilitiesFormatXML(driver->caps);
virReportOOMError();
umlDriverUnlock(driver); umlDriverUnlock(driver);
return xml; return xml;
......
...@@ -720,17 +720,11 @@ static char * ...@@ -720,17 +720,11 @@ static char *
xenUnifiedConnectGetCapabilities(virConnectPtr conn) xenUnifiedConnectGetCapabilities(virConnectPtr conn)
{ {
xenUnifiedPrivatePtr priv = conn->privateData; xenUnifiedPrivatePtr priv = conn->privateData;
char *xml;
if (virConnectGetCapabilitiesEnsureACL(conn) < 0) if (virConnectGetCapabilitiesEnsureACL(conn) < 0)
return NULL; return NULL;
if (!(xml = virCapabilitiesFormatXML(priv->caps))) { return virCapabilitiesFormatXML(priv->caps);
virReportOOMError();
return NULL;
}
return xml;
} }
static int static int
......
...@@ -2557,14 +2557,8 @@ char * ...@@ -2557,14 +2557,8 @@ char *
xenHypervisorGetCapabilities(virConnectPtr conn) xenHypervisorGetCapabilities(virConnectPtr conn)
{ {
xenUnifiedPrivatePtr priv = conn->privateData; xenUnifiedPrivatePtr priv = conn->privateData;
char *xml;
if (!(xml = virCapabilitiesFormatXML(priv->caps))) { return virCapabilitiesFormatXML(priv->caps);
virReportOOMError();
return NULL;
}
return xml;
} }
......
...@@ -445,12 +445,8 @@ xenapiConnectGetCapabilities(virConnectPtr conn) ...@@ -445,12 +445,8 @@ xenapiConnectGetCapabilities(virConnectPtr conn)
{ {
virCapsPtr caps = ((struct _xenapiPrivate *)(conn->privateData))->caps; virCapsPtr caps = ((struct _xenapiPrivate *)(conn->privateData))->caps;
if (caps) { if (caps)
char *xml = virCapabilitiesFormatXML(caps); return virCapabilitiesFormatXML(caps);
if (!xml)
goto cleanup;
return xml;
}
cleanup: cleanup:
xenapiSessionErrorHandler(conn, VIR_ERR_INTERNAL_ERROR, xenapiSessionErrorHandler(conn, VIR_ERR_INTERNAL_ERROR,
_("Capabilities not available")); _("Capabilities not available"));
......
...@@ -114,10 +114,8 @@ test_virCapabilitiesFormat(const void *opaque) ...@@ -114,10 +114,8 @@ test_virCapabilitiesFormat(const void *opaque)
data->max_mem_in_cell))) data->max_mem_in_cell)))
goto cleanup; goto cleanup;
if (!(capsXML = virCapabilitiesFormatXML(caps))) { if (!(capsXML = virCapabilitiesFormatXML(caps)))
fprintf(stderr, "Unable to format capabilities XML");
goto cleanup; goto cleanup;
}
if (virAsprintf(&path, "%s/vircaps2xmldata/vircaps-%s.xml", if (virAsprintf(&path, "%s/vircaps2xmldata/vircaps-%s.xml",
abs_srcdir, data->filename) < 0) abs_srcdir, data->filename) < 0)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册