All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 00/35]: add new error format
@ 2012-08-10 17:43 Luiz Capitulino
  2012-08-10 17:43 ` [Qemu-devel] [PATCH 01/35] monitor: drop unused monitor debug code Luiz Capitulino
                   ` (35 more replies)
  0 siblings, 36 replies; 40+ messages in thread
From: Luiz Capitulino @ 2012-08-10 17:43 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, aliguori, armbru, mdroth, pbonzini, eblake

v3

 o rebase on top of master
 o replace 'valid_encryption_key' with 'encryption_key_missing', fixes
   a bug found by Markus
 o minor changes (changelogs, white-space fix and others)

Only the following patches have changed:

 o [PATCH 11/35] qmp: query-block: add 'encryption_key_missing' field
 o [PATCH 12/35] hmp: hmp_cont(): don't rely on QERR_DEVICE_ENCRYPTED
 o [PATCH 15/35] migration: don't rely on any QERR_SOCKET_*
 o [PATCH 29/35] qmp: switch to the new error format on the wire
 o [PATCH 35/35] docs: writing-qmp-commands.txt: update error section

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                 |   1 +
 QMP/qmp-spec.txt              |  10 +-
 block.c                       |   1 +
 block_int.h                   |   1 +
 configure                     |  10 -
 docs/writing-qmp-commands.txt |  47 ++--
 error.c                       |  93 +-------
 error.h                       |  34 +--
 error_int.h                   |  29 ---
 hmp.c                         |  69 ++----
 hmp.h                         |   1 +
 migration-tcp.c               |  22 +-
 monitor.c                     |  83 ++-----
 nbd.c                         |   2 +-
 qapi-schema.json              |  94 +++-----
 qapi/qmp-core.h               |   1 +
 qapi/qmp-dispatch.c           |  11 +-
 qemu-char.c                   |   2 +-
 qemu-ga.c                     |   5 +-
 qemu-sockets.c                |  14 +-
 qemu_socket.h                 |   4 +-
 qerror.c                      | 516 ++----------------------------------------
 qerror.h                      | 168 ++++++--------
 qmp-commands.hx               |   4 +-
 scripts/qapi-types.py         |  17 +-
 ui/vnc.c                      |   2 +-
 26 files changed, 268 insertions(+), 973 deletions(-)

^ permalink raw reply	[flat|nested] 40+ messages in thread
* [Qemu-devel] [PATCH v2 00/35]: add new error format
@ 2012-08-07 15:53 Luiz Capitulino
  2012-08-07 15:53 ` [Qemu-devel] [PATCH 28/35] error: drop unused functions Luiz Capitulino
  0 siblings, 1 reply; 40+ messages in thread
From: Luiz Capitulino @ 2012-08-07 15:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, aliguori, armbru, mdroth, pbonzini, eblake

v2

 o rebase on top of master
 o fix linux-user build breakage
 o maintain DeviceEncrypted error and let hmp_change() use it
 o drop patch that changed inet_connect() and inet_connect_opts()
   to return -errno
 o Simplified tcp_start_outgoing_migration() error handling
 o use g_strdup_vprintf() (instead of vsnprintf() plus g_strdup())
 o drop errors from command's documentation in qapi-schema.json
 o update docs/writing-qmp-commands.txt

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                 |   1 +
 QMP/qmp-spec.txt              |  10 +-
 block.c                       |   1 +
 block_int.h                   |   1 +
 configure                     |  10 -
 docs/writing-qmp-commands.txt |  47 ++--
 error.c                       |  93 +-------
 error.h                       |  34 +--
 error_int.h                   |  29 ---
 hmp.c                         |  75 +++---
 hmp.h                         |   1 +
 migration-tcp.c               |  22 +-
 monitor.c                     |  83 ++-----
 nbd.c                         |   2 +-
 qapi-schema.json              |  93 +++-----
 qapi/qmp-core.h               |   1 +
 qapi/qmp-dispatch.c           |  11 +-
 qemu-char.c                   |   2 +-
 qemu-ga.c                     |   5 +-
 qemu-sockets.c                |  14 +-
 qemu_socket.h                 |   4 +-
 qerror.c                      | 516 ++----------------------------------------
 qerror.h                      | 168 ++++++--------
 qmp-commands.hx               |   4 +-
 scripts/qapi-types.py         |  17 +-
 ui/vnc.c                      |   2 +-
 26 files changed, 272 insertions(+), 974 deletions(-)

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2012-08-13 13:31 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-10 17:43 [Qemu-devel] [PATCH v3 00/35]: add new error format Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 01/35] monitor: drop unused monitor debug code Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 02/35] qerror: QERR_AMBIGUOUS_PATH: drop %(object) from human msg Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 03/35] qerror: QERR_DEVICE_ENCRYPTED: change error message Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 04/35] qerror: reduce public exposure Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 05/35] qerror: drop qerror_abort() Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 06/35] qerror: avoid passing qerr pointer Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 07/35] qerror: QError: drop file, linenr, func Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 08/35] qerror: qerror_format(): return an allocated string Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 09/35] qerror: don't delay error message construction Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 10/35] error: " Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 11/35] qmp: query-block: add 'encryption_key_missing' field Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 12/35] hmp: hmp_cont(): don't rely on QERR_DEVICE_ENCRYPTED Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 13/35] hmp_change(): don't access DeviceEncrypted's data Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 14/35] net: inet_connect(), inet_connect_opts(): add in_progress argument Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 15/35] migration: don't rely on any QERR_SOCKET_* Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 16/35] qerror: drop QERR_SOCKET_CONNECT_IN_PROGRESS Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 17/35] block: block_int: include qerror.h Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 18/35] hmp: hmp.h: include qdict.h Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 19/35] qapi: qapi-types.h: don't include qapi/qapi-types-core.h Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 20/35] qapi: generate correct enum names for camel case enums Luiz Capitulino
2012-08-10 17:43 ` [Qemu-devel] [PATCH 21/35] qapi: don't convert enum strings to lowercase Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 22/35] qapi-schema: add ErrorClass enum Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 23/35] qerror: qerror_table: don't use C99 struct initializers Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 24/35] error, qerror: add ErrorClass argument to error functions Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 25/35] qerror: add proper ErrorClass value for QERR_ macros Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 26/35] error: add error_get_class() Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 27/35] hmp: hmp_change(): use error_get_class() Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 28/35] error: drop unused functions Luiz Capitulino
2012-08-10 19:42   ` Eric Blake
2012-08-10 17:44 ` [Qemu-devel] [PATCH 29/35] qmp: switch to the new error format on the wire Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 30/35] qemu-ga: " Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 31/35] error: drop error_get_qobject()/error_set_qobject() Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 32/35] error, qerror: pass desc string to error calls Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 33/35] qerror: drop qerror_table and qerror_format() Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 34/35] error, qerror: drop QDict member Luiz Capitulino
2012-08-10 17:44 ` [Qemu-devel] [PATCH 35/35] docs: writing-qmp-commands.txt: update error section Luiz Capitulino
2012-08-11  7:05 ` [Qemu-devel] [PATCH v3 00/35]: add new error format Markus Armbruster
2012-08-13 13:32   ` Luiz Capitulino
  -- strict thread matches above, loose matches on Subject: below --
2012-08-07 15:53 [Qemu-devel] [PATCH v2 " Luiz Capitulino
2012-08-07 15:53 ` [Qemu-devel] [PATCH 28/35] error: drop unused functions Luiz Capitulino

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.