On 12/05/2013 07:24 AM, Benoît Canet wrote: >> >> Am I correct that it will be possible to have named nodes that are not >> currently associated with any device? If so, how do we learn about >> those nodes? Would it be better to have a command that returns an array >> of structs for all known node roots, with an optional member describing >> which device owns that node root? Something like: > > The code have a list of all named nodes but not a list of named nodes roots. > Also it's difficult to get the device name for a named node because the bses > don't > have any backward pointers to their parents. > It could be done by recursing into all the blockbackend bs but it's twisted.
Still worth thinking about how to structure things so we could add it in the future if it turns out to be useful to management, but I can understand why you aren't providing it right away. > > In fact I am wondering if we really need something to spit out the named nodes > topology in QMP for the simple reason that the names of the nodes are given > by the > management so the management should already know the topology. There's one case where management might not know - if libvirtd gets restarted while in the middle of an operation that was attempting to create a named node, then on restart and reconnection to the monitor, libvirt would want to query to see if the node actually got created or if the command needs to be attempted again. I'm not a fan of write-only interfaces - and making management responsible to track all named nodes with no way to query if qemu actually agrees with the topology that management thinks it has commanded feels like a write-only interface. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature