Il 02/10/2014 16:59, Markus Armbruster ha scritto: > Andreas Färber <afaer...@suse.de> writes: > >> Am 02.10.2014 um 16:21 schrieb Markus Armbruster: >>> Andreas Färber <afaer...@suse.de> writes: >>> >>>> Am 02.10.2014 um 15:21 schrieb Stefan Hajnoczi: >>>>> On Wed, Oct 01, 2014 at 02:33:47PM +0200, Markus Armbruster wrote: >>>>>> Markus Armbruster <arm...@redhat.com> writes: >>>>> >>>>> This discussion seems orthogonal to your patch. But I'm not applying it >>>>> yet to give more time for discussion/review of the patch. >>>>> >>>>>> Is mangling array-ness into the name really a good idea? Isn't this >>>>>> type matter, not name matter? >>>>> >>>>> I agree. It's nasty to hack the array selector into the name and will >>>>> probably cause us pain down the line. >>> >>> Andreas? >> >> -> Paolo ;) > > Paolo?
Uhm, I had written an answer but Thunderbird ate it. Oh well. I think foo[*] is not really a matter of typing, but a matter of grouping similar children. It does not really matter if foo[1] is deleted while foo[2] still exists, and it does not really matter if the next object created will be foo[1] or foo[3]. While we do not have any example, QOM could support true array properties, e.g. with type intList. Also note that while foo[*] was a generalization of MemoryRegion code, the same idea has also existed forever for devices. /machine/peripheral_anon and /machine/unattached do not currently use automatic array-ification via foo[*], but they could. >> If you just want to call id_wellformed() for -object / object-add, I >> won't object to restricting it beyond the necessary, but it'll lead to >> two places doing validity checks for QOM. > > id_wellformed() is *already* called for -object and HMP object-add. > That's exactly my point! > > Please reread my explanation, and if it's insufficient, ask for > clarification. > > Subject: IDs in QOM (was: [PATCH] util: Emancipate id_wellformed() from > QemuOpts) > Date: Wed, 01 Oct 2014 14:33:47 +0200 > Message-ID: <87iok46kb8....@blackfin.pond.sub.org> I think it is okay to keep calling id_wellformed(), since it covers the QOM-specific constraint that slashes must be outlawed. It just makes the children of /objects a bit more restricted in their naming, but that is harmless because object_del can only delete objects created with object_add. Paolo