From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:60460) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Swz6Y-0002lr-CJ for qemu-devel@nongnu.org; Thu, 02 Aug 2012 13:22:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Swz6X-00035t-AB for qemu-devel@nongnu.org; Thu, 02 Aug 2012 13:22:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:17833) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Swz6X-00035p-0s for qemu-devel@nongnu.org; Thu, 02 Aug 2012 13:22:33 -0400 From: Markus Armbruster References: <1343869374-23417-1-git-send-email-lcapitulino@redhat.com> Date: Thu, 02 Aug 2012 19:22:29 +0200 In-Reply-To: <1343869374-23417-1-git-send-email-lcapitulino@redhat.com> (Luiz Capitulino's message of "Wed, 1 Aug 2012 22:02:20 -0300") Message-ID: <87obmtryy2.fsf@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH v1 00/34]: add new error format List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Luiz Capitulino Cc: kwolf@redhat.com, aliguori@us.ibm.com, qemu-devel@nongnu.org, mdroth@linux.vnet.ibm.com, pbonzini@redhat.com, eblake@redhat.com Luiz Capitulino writes: > 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, ...); Good stuff overall. Last but not least: [...] > 25 files changed, 284 insertions(+), 880 deletions(-)