Il 05/06/2015 00:20, Don Slutz ha scritto:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 06/04/15 18:10, Eric Blake wrote:
[adding Markus, as author of the regression]
On 06/04/2015 03:59 PM, Don Slutz wrote:
On 06/04/15 11:04, Fabio Fantoni wrote:
Today after trying xen-unstable build (tested many hours) of
some days ago I tried update qemu to latest development version
(from git master commit
6fa6b312765f698dc81b2c30e7eeb9683804a05b) and seems that there
is a regression:
xl create /etc/xen/W7.cfg Parsing config from
/etc/xen/W7.cfg libxl: error:
libxl_qmp.c:287:qmp_handle_error_response: received an error
message from QMP server: QMP input object member 'id' is
unexpected libxl: error:
libxl_qmp.c:715:libxl__qmp_initialize: Failed to connect to
QMP
This is caused by:
commit 65207c59d99f2260c5f1d3b9c491146616a522aa Author: Markus
Armbruster <arm...@redhat.com> Date: Thu Mar 5 14:35:26 2015
+0100
monitor: Drop broken, unused asynchronous command interface
The patch:
From 1b0221078353870fe530e49de158cae205f9bce5 Mon Sep 17
00:00:00 2001
From: Don Slutz <dsl...@verizon.com> Date: Thu, 4 Jun 2015
17:04:42 -0400 Subject: [PATCH 01/14] monitor: Allow Xen's
(broken) usage of asynchronous command interface.
Thanks, patch tested, solves the regression, I did successfull many xl
command that use QMP.
commit 65207c59d99f2260c5f1d3b9c491146616a522aa Author: Markus
Armbruster <arm...@redhat.com> Date: Thu Mar 5 14:35:26 2015
+0100
monitor: Drop broken, unused asynchronous command interface
Breaks Xen. Add a hack un unbreak it.
s/un /to /
Sigh, will fix.
Xen is only doing synchronous commands, but is including an id.
QMP also uses id, but apparently removes it up front before calling
into this function; so another fix would be having xen remove it up
front.
Hopefully I will get to a change to Xen. However getting the Xen
change back-ported to enough version(s) will not be quick...
Signed-off-by: Don Slutz <dsl...@verizon.com> --- monitor.c | 9
+++++++++ 1 file changed, 9 insertions(+)
diff --git a/monitor.c b/monitor.c index c7baa91..e9a0747 100644
--- a/monitor.c +++ b/monitor.c @@ -4955,6 +4955,15 @@ static
QDict *qmp_check_input_obj(QObject *input_obj, Error **errp)
"arguments", "object"); return NULL; } + } else if
(!strcmp(arg_name, "id")) { + /* + * Fixup
Xen's usage. Just ignore the "id". See point #5 + *
above. This was an attempt at an asynchronous + *
command interface. However commit + *
65207c59d99f2260c5f1d3b9c491146616a522aa is + *
wrong. Xen does not expect an error when it passes in +
* "id":1, so just continue to ignore it. + */
The comment is a bit verbose, particularly since 'id' is a
well-established usage pattern in QMP. Also, we don't need to call
out why it changed in the comment here, the commit message is
sufficient for that.
Ok, will also see if Markus has anything to say.
-Don Slutz
} else { error_set(errp, QERR_QMP_EXTRA_MEMBER, arg_name); return
NULL;
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iQIcBAEBAgAGBQJVcM85AAoJEMH0lYjxq9Kcvd0QAK5H6/2NUvqKCO/zje/8cXsT
ueLOYG4keNWJ3x7XGpOAWqIuYc673uYjApEquSpR2TRyhHwB2ZuShEjtCA5bakOH
VJJ03uLq+vrQo0Hxm8oR5/7C2w0L2GkpzGnqUlmZ6/9RNbDHGmGS6PSUC5xbwICM
6v31k0b89HG4AmAxg3/O5qeBe9m/pL+OeDjKXc6zbr7xhUIq4lxtx0VEy4HAGReS
V8+MLDJ73T6o6FUD6U/EcCmK/6GuMMG0jwZsVgbBvbeGmT1tP8Z9YMjpf3X393ZG
Il9LaUNCzhJRcWVOc4UBM8du3FLcHX4fviYyW5uEXt4aJdSoijd4BAv2znyyndmu
oep7vEc5w/VkXKuXxg1hTokCqvkLEK6WYD4M+i1huiBuNs3qQop6euqYV97tEsl3
h3fjhibkZRbIVsm6vrm41Jr75ZDnbftPMAINc9aYvvstNrxBrR7u7sw6gwAY1n6+
e5gyy5l5P6/R3LS4s41oXSOiCk7pndPp3AilOZ863MS5TJFXLfo1z0wEQ471A2hT
NHvi+o4G2iKZ33MAB9Jq6hmWveJbs8sY+Fm/IWeZn/dDt7ohn8V+rFIX3LEYfDMN
cknhMSRpKD9eRSo4LM4xU9kq1J5spaewDbkGkl7e6pHVTWphLlkk/cT2W9crW3ji
PybnLaIJP2/aljcLfdYK
=lEbh
-----END PGP SIGNATURE-----