forked from pool/libvirt
increase buffer used for xend response
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=150
This commit is contained in:
parent
66a9d8b90f
commit
2753a14226
47
32620dab-fix-xen-err-msg.patch
Normal file
47
32620dab-fix-xen-err-msg.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
commit 32620dabb12df70e14a645c20797b7658cd89e02
|
||||||
|
Author: Jim Fehlig <jfehlig@suse.com>
|
||||||
|
Date: Thu Sep 1 16:22:38 2011 -0600
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
|
||||||
|
index f44d674..957cd17 100644
|
||||||
|
--- a/src/xen/xend_internal.c
|
||||||
|
+++ b/src/xen/xend_internal.c
|
||||||
|
@@ -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;
|
||||||
|
|
24
57c95175-xend-buff-size.patch
Normal file
24
57c95175-xend-buff-size.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
commit 57c95175e271ca63b3f1be44efef8997f20ffe13
|
||||||
|
Author: Jim Fehlig <jfehlig@suse.com>
|
||||||
|
Date: Thu Sep 1 16:40:46 2011 -0600
|
||||||
|
|
||||||
|
Increase size of buffer for xend response
|
||||||
|
|
||||||
|
On systems with many pcpus, the sexpr returned by xend can be quite
|
||||||
|
large for dom0 when it is configured to have #vcpus = #pcpus (default).
|
||||||
|
E.g. on a 80 pcpu system, where dom0 had 80 vcpus, the sexpr details
|
||||||
|
for dom0 was 73817 bytes! Increase maximum buffer size to 256k.
|
||||||
|
|
||||||
|
diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
|
||||||
|
index 957cd17..0a7fb48 100644
|
||||||
|
--- a/src/xen/xend_internal.c
|
||||||
|
+++ b/src/xen/xend_internal.c
|
||||||
|
@@ -56,7 +56,7 @@
|
||||||
|
* The number of Xen scheduler parameters
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#define XEND_RCV_BUF_MAX_LEN 65536
|
||||||
|
+#define XEND_RCV_BUF_MAX_LEN (256 * 1024)
|
||||||
|
|
||||||
|
static int
|
||||||
|
virDomainXMLDevID(virDomainPtr domain,
|
@ -1,3 +1,12 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 14 16:12:49 MDT 2011 - jfehlig@suse.com
|
||||||
|
|
||||||
|
- Increase max size of buffer used to receive xend response
|
||||||
|
57c95175-xend-buff-size.patch
|
||||||
|
- Don't overwrite useful error messages in legacy xen driver
|
||||||
|
32620dab-fix-xen-err-msg.patch
|
||||||
|
bnc#711096
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Sep 14 15:49:37 MDT 2011 - jfehlig@suse.com
|
Wed Sep 14 15:49:37 MDT 2011 - jfehlig@suse.com
|
||||||
|
|
||||||
|
@ -361,8 +361,10 @@ Source2: libvirtd-relocation-server.fw
|
|||||||
Source99: baselibs.conf
|
Source99: baselibs.conf
|
||||||
# Upstream patches
|
# Upstream patches
|
||||||
Patch0: 9e093f0b-libvirtd-sighup.patch
|
Patch0: 9e093f0b-libvirtd-sighup.patch
|
||||||
Patch1: 6ff9fc26-quiet-libxl-logging.patch
|
Patch1: 32620dab-fix-xen-err-msg.patch
|
||||||
Patch2: 7f2498ef-no-log-invalid.patch
|
Patch2: 57c95175-xend-buff-size.patch
|
||||||
|
Patch3: 6ff9fc26-quiet-libxl-logging.patch
|
||||||
|
Patch4: 7f2498ef-no-log-invalid.patch
|
||||||
# Need to go upstream
|
# Need to go upstream
|
||||||
Patch100: xen-name-for-devid.patch
|
Patch100: xen-name-for-devid.patch
|
||||||
Patch101: clone.patch
|
Patch101: clone.patch
|
||||||
@ -484,6 +486,8 @@ Authors:
|
|||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101
|
%patch101
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
|
@ -32,7 +32,7 @@ Index: libvirt-0.9.4/daemon/libvirtd.c
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- libvirt-0.9.4.orig/daemon/libvirtd.c
|
--- libvirt-0.9.4.orig/daemon/libvirtd.c
|
||||||
+++ libvirt-0.9.4/daemon/libvirtd.c
|
+++ libvirt-0.9.4/daemon/libvirtd.c
|
||||||
@@ -880,7 +880,7 @@ daemonConfigNew(bool privileged ATTRIBUT
|
@@ -881,7 +881,7 @@ daemonConfigNew(bool privileged ATTRIBUT
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ Index: libvirt-0.9.4/daemon/libvirtd.c
|
|||||||
data->listen_tcp = 0;
|
data->listen_tcp = 0;
|
||||||
|
|
||||||
if (!(data->tls_port = strdup(LIBVIRTD_TLS_PORT)))
|
if (!(data->tls_port = strdup(LIBVIRTD_TLS_PORT)))
|
||||||
@@ -917,7 +917,7 @@ daemonConfigNew(bool privileged ATTRIBUT
|
@@ -918,7 +918,7 @@ daemonConfigNew(bool privileged ATTRIBUT
|
||||||
#endif
|
#endif
|
||||||
data->auth_tls = REMOTE_AUTH_NONE;
|
data->auth_tls = REMOTE_AUTH_NONE;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ Index: libvirt-0.9.4/src/xen/xend_internal.c
|
|||||||
virDomainDeviceDefPtr dev,
|
virDomainDeviceDefPtr dev,
|
||||||
char *class,
|
char *class,
|
||||||
char *ref,
|
char *ref,
|
||||||
@@ -2807,7 +2808,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr
|
@@ -2805,7 +2806,7 @@ xenDaemonAttachDeviceFlags(virDomainPtr
|
||||||
|
|
||||||
sexpr = virBufferContentAndReset(&buf);
|
sexpr = virBufferContentAndReset(&buf);
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ Index: libvirt-0.9.4/src/xen/xend_internal.c
|
|||||||
/* device doesn't exist, define it */
|
/* device doesn't exist, define it */
|
||||||
ret = xend_op(domain->conn, domain->name, "op", "device_create",
|
ret = xend_op(domain->conn, domain->name, "op", "device_create",
|
||||||
"config", sexpr, NULL);
|
"config", sexpr, NULL);
|
||||||
@@ -2928,7 +2929,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr
|
@@ -2926,7 +2927,7 @@ xenDaemonUpdateDeviceFlags(virDomainPtr
|
||||||
|
|
||||||
sexpr = virBufferContentAndReset(&buf);
|
sexpr = virBufferContentAndReset(&buf);
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ Index: libvirt-0.9.4/src/xen/xend_internal.c
|
|||||||
virXendError(VIR_ERR_OPERATION_INVALID, "%s",
|
virXendError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("requested device does not exist"));
|
_("requested device does not exist"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@@ -3023,7 +3024,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr
|
@@ -3021,7 +3022,7 @@ xenDaemonDetachDeviceFlags(virDomainPtr
|
||||||
def, xml, VIR_DOMAIN_XML_INACTIVE)))
|
def, xml, VIR_DOMAIN_XML_INACTIVE)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ Index: libvirt-0.9.4/src/xen/xend_internal.c
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) {
|
if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV) {
|
||||||
@@ -3979,6 +3980,7 @@ struct xenUnifiedDriver xenDaemonDriver
|
@@ -3977,6 +3978,7 @@ struct xenUnifiedDriver xenDaemonDriver
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
virDomainXMLDevID(virDomainPtr domain,
|
virDomainXMLDevID(virDomainPtr domain,
|
||||||
@ -60,7 +60,7 @@ Index: libvirt-0.9.4/src/xen/xend_internal.c
|
|||||||
virDomainDeviceDefPtr dev,
|
virDomainDeviceDefPtr dev,
|
||||||
char *class,
|
char *class,
|
||||||
char *ref,
|
char *ref,
|
||||||
@@ -3987,8 +3989,12 @@ virDomainXMLDevID(virDomainPtr domain,
|
@@ -3985,8 +3987,12 @@ virDomainXMLDevID(virDomainPtr domain,
|
||||||
xenUnifiedPrivatePtr priv = domain->conn->privateData;
|
xenUnifiedPrivatePtr priv = domain->conn->privateData;
|
||||||
char *xref;
|
char *xref;
|
||||||
char *tmp;
|
char *tmp;
|
||||||
@ -73,7 +73,7 @@ Index: libvirt-0.9.4/src/xen/xend_internal.c
|
|||||||
if (dev->data.disk->driverName &&
|
if (dev->data.disk->driverName &&
|
||||||
STREQ(dev->data.disk->driverName, "tap"))
|
STREQ(dev->data.disk->driverName, "tap"))
|
||||||
strcpy(class, "tap");
|
strcpy(class, "tap");
|
||||||
@@ -3998,19 +4004,21 @@ virDomainXMLDevID(virDomainPtr domain,
|
@@ -3996,19 +4002,21 @@ virDomainXMLDevID(virDomainPtr domain,
|
||||||
else
|
else
|
||||||
strcpy(class, "vbd");
|
strcpy(class, "vbd");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user