On Thu, Mar 19, 2015 at 04:15:49PM -0600, Eric Blake wrote: > >>> -# @device: device name > >>> +# @device: device name, or node name if not present > >> > >> 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? > > How hard is it to output both 'device' and 'node' in the same event, > if both are available?
It's a trivial change, there's no problem at all. I assume that, for compatibility reasons, 'device' would continue to be present even if it's empty, but would you prefer to have 'node-name' as an optional field? > And for this particular event, which is not tied to block jobs but > to generic block operation, isn't it possible that we could be > reporting a corrupted backing chain where we have neither a device > name (it is not the active layer) nor a node name (if we don't add > Jeff's patch to auto-name all nodes)? In such a case, I don't know > that we can do much better anyways. Yes, it is perfectly possible. I guess any software that wants to handle those scenarios probably wants to give names to all nodes. From the QEMU side, apart from giving automatic names to all nodes I don't see any other solution. Berto