Am 05.02.2014 18:48, schrieb Paolo Bonzini: > Il 05/02/2014 18:35, Andreas Färber ha scritto: >> Functionally it is a recursive qom-list with qom-get per non-child<> >> property. Some failures needed to be handled, such as trying to read a >> pointer property, which is not representable in QMP. Those print a >> literal "<EXCEPTION>". >> >> Signed-off-by: Andreas Färber <afaer...@suse.de> > > I don't think it's a modern equivalent of anything. The two are just > different. > > "info qtree" may be focused the old concept of buses, but those buses > aren't going anywhere anytime soon. "info qtree" may also be focused on > the old concept of qdev properties (now "static" properties), but that's > not something that cannot be fixed. > > So, even though I think this script is a very welcome addition, I don't > think it helps settling the question of what to do with "info qtree". > IMO there's no good reason to exclude busless devices from "info qtree", > and it's a bug (of course less severe than crashing, but still a bug) > that the busless nand device doesn't appear there.
Don't you see that that is unfixable? We may be able to replace info qtree by an info qom-tree, which does the equivalent of this QMP-based script, but qtree ues a completely different display hierarchy than QOM. Andreas > > We can apply all three patches: > > * qdev_try_create for busless devices (or alternatively abort when > creating the device, qom-test will catch that) > > * add qom-tree > > * nand: Don't use qdev_create() in nand_init() > > and still improve "info qtree" on top. > > Paolo -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg