Le Thursday 05 Dec 2013 à 07:38:37 (-0700), Eric Blake a écrit : > 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.
Would a command returning info about a specific named node be sufficient for libvirt checks ? It's far less complex to implement than exposing the whole graph. We could also provide a simple command to list the names of the named nodes. Best regards Benoît > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org >