1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-27 06:50:23 +03:00

Don't overwrite errors from xend_{get,req}

xenDaemonDomainFetch() was overwriting errors reported by
xend_get() and xend_req().  E.g. without patch

error: failed Xen syscall xenDaemonDomainFetch failed to find this domain

with patch

error: internal error Xend returned HTTP Content-Length of 73817, which exceeds
maximum of 65536
This commit is contained in:
Jim Fehlig 2011-09-01 16:22:38 -06:00
parent cd592a91de
commit 32620dabb1

View File

@ -359,8 +359,10 @@ xend_get(virConnectPtr xend, const char *path,
ret = xend_req(s, content);
VIR_FORCE_CLOSE(s);
if (((ret < 0) || (ret >= 300)) &&
((ret != 404) || (!STRPREFIX(path, "/xend/domain/")))) {
if (ret < 0)
return ret;
if ((ret >= 300) && ((ret != 404) || (!STRPREFIX(path, "/xend/domain/")))) {
virXendError(VIR_ERR_GET_FAILED,
_("%d status from xen daemon: %s:%s"),
ret, path, NULLSTR(*content));
@ -1810,12 +1812,8 @@ xenDaemonDomainFetch(virConnectPtr conn,
root = sexpr_get(conn, "/xend/domain/%s?detail=1", name);
else
root = sexpr_get(conn, "/xend/domain/%d?detail=1", domid);
if (root == NULL) {
virXendError(VIR_ERR_XEN_CALL,
"%s", _("xenDaemonDomainFetch failed to"
" find this domain"));
if (root == NULL)
return (NULL);
}
priv = (xenUnifiedPrivatePtr) conn->privateData;