[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v1 00/34]: add new error format
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] [PATCH v1 00/34]: add new error format |
Date: |
Wed, 1 Aug 2012 22:02:20 -0300 |
Quick summary first, long introduction afterwards.
>From the rfc:
o rebased on top of master
o dropped patch "qapi: qapi.py: allow the "'" character be escaped"
o split patch "qerror: drop qerror_abort()" into two patches
o fixed tcp_start_outgoing_migration() not to use QERR_ macros
o fixed qemu-ga to use the new error format
o dropped more unused stuff
o improved several changelogs
Btw, please take a special look in patches 14/34, 15/34 and 16/34.
This series implements the 'Plan for error handling in QMP' as described
by Anthony in this email:
http://lists.gnu.org/archive/html/qemu-devel/2012-07/msg03764.html
Basically, this replaces almost all error classes by GenericError (the
exception are a few error classes used by libvirt) and drops the error
data memeber. This also adds a free form string to error_set().
On the wire, we go from:
{ "error": { "class": "DeviceNotRemovable",
"data": { "device": "virtio0" },
"desc": "Device 'virtio0' is not removable" } }
to:
{ "error": { "class": "GenericError",
"desc": "Device 'virtio0' is not removable" } }
Internally, we go from:
void error_set(Error **err, const char *fmt, ...);
to:
void error_set(Error **err, ErrorClass err_class, const char *fmt, ...);
Makefile.objs | 2 +-
QMP/qmp-spec.txt | 10 +-
block.c | 1 +
block_int.h | 1 +
configure | 10 -
error.c | 91 +--------
error.h | 18 +-
error_int.h | 29 ---
hmp.c | 97 ++++++----
hmp.h | 1 +
migration-tcp.c | 34 ++--
monitor.c | 83 ++------
nbd.c | 2 +-
qapi-schema.json | 33 +++-
qapi/qmp-core.h | 1 +
qapi/qmp-dispatch.c | 11 +-
qemu-char.c | 2 +-
qemu-ga.c | 5 +-
qemu-sockets.c | 21 +-
qemu_socket.h | 4 +-
qerror.c | 518 ++------------------------------------------------
qerror.h | 168 ++++++++--------
qmp-commands.hx | 3 +-
scripts/qapi-types.py | 17 +-
ui/vnc.c | 2 +-
25 files changed, 284 insertions(+), 880 deletions(-)
- [Qemu-devel] [PATCH v1 00/34]: add new error format,
Luiz Capitulino <=
- [Qemu-devel] [PATCH 01/34] monitor: drop unused monitor debug code, Luiz Capitulino, 2012/08/01
- [Qemu-devel] [PATCH 02/34] qerror: QERR_AMBIGUOUS_PATH: drop %(object) from human msg, Luiz Capitulino, 2012/08/01
- [Qemu-devel] [PATCH 03/34] qerror: QERR_DEVICE_ENCRYPTED: add filename info to human msg, Luiz Capitulino, 2012/08/01
- [Qemu-devel] [PATCH 04/34] qerror: reduce public exposure, Luiz Capitulino, 2012/08/01
- [Qemu-devel] [PATCH 06/34] qerror: avoid passing qerr pointer, Luiz Capitulino, 2012/08/01
- [Qemu-devel] [PATCH 05/34] qerror: drop qerror_abort(), Luiz Capitulino, 2012/08/01
- [Qemu-devel] [PATCH 08/34] qerror: qerror_format(): return an allocated string, Luiz Capitulino, 2012/08/01
- [Qemu-devel] [PATCH 07/34] qerror: QError: drop file, linenr, func, Luiz Capitulino, 2012/08/01