From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60215) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYiNA-0000JI-Ce for qemu-devel@nongnu.org; Thu, 19 Mar 2015 17:53:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YYiN4-0003I6-Oh for qemu-devel@nongnu.org; Thu, 19 Mar 2015 17:53:00 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48481) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYiN4-0003Ht-Ia for qemu-devel@nongnu.org; Thu, 19 Mar 2015 17:52:54 -0400 Message-ID: <550B4534.108@redhat.com> Date: Thu, 19 Mar 2015 17:52:52 -0400 From: Max Reitz MIME-Version: 1.0 References: <9d3f0e0ee6fcfc6300e165f79b46a4af0ffdc37d.1426779661.git.berto@igalia.com> <550B26AB.4050806@redhat.com> <20150319214201.GA11212@igalia.com> In-Reply-To: <20150319214201.GA11212@igalia.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 3/3] block: allow BLOCK_IMAGE_CORRUPTED to have a node name List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alberto Garcia Cc: Kevin Wolf , qemu-devel@nongnu.org, Stefan Hajnoczi On 2015-03-19 at 17:42, Alberto Garcia wrote: > (I forgot to Cc Eric in this series, doing it now) > > On Thu, Mar 19, 2015 at 03:42:35PM -0400, Max Reitz wrote: >>> # Emitted when a corruption has been detected in a disk image >>> # >>> -# @device: device name >>> +# @device: device name, or node name if not present >> Normally, if a field in QMP is designed @device, it contains a >> device name. We do have combined device/node name fields, though (as >> of John's incremental backup series, at least), but those are named >> @node (which I proposed for patch 2, too). >> >> But renaming the field here will lead to breaking backwards >> compatibility. I think just adding a @node-name field and keeping >> @device as it is should be good enough here. > I was doing the same that we discussed for BlockJobInfo here, where > option b) seemed to have a bit more support: > > https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg03651.html > > But yeah I personally don't mind extending the event with a new field. > Would we make 'device' optional in this case? No, I think we'd need to keep it. It isn't optional right now so any software using the monitor will expect it to be present (even if it's empty). Regarding the BlockJobInfo discussion: One argument I can see there is "Particularly if we don't have two parameters for starting the job, then we don't need two parameters for reporting it"/"If you're going to reuse 'device' on the creation, then reuse it on the reporting", which does not apply here (there is no command corresponding to this event, it just pops up on its own), so there will not be any asymmetry here. Other than that, the only argument I can see is "it will work with libvirt, so it is fine", but that's not really a reason to prefer b) over a)... So in this case here I don't really see a benefit of reusing @device instead of just adding @node-name, whereas adding @node-name will have the benefit of not affecting anybody and (in my opinion) being more explicit. However, if others tend to think otherwise (the @node-name vs. @node vs. @device is a constant point of dissent over naming...), I'm happy to be convinced otherwise. In the end it doesn't really matter after all, it's a machine-readable protocol. If software can work with it, it's fine. Max