Luiz Capitulino <lcapitul...@redhat.com> writes: > On Mon, 31 May 2010 16:13:12 +0200 > Markus Armbruster <arm...@redhat.com> wrote: > >> We need Device IDs to be unique and not contain '/' so device tree >> nodes can always be unambigously referenced by tree path. >> >> We already have some protection against duplicate IDs, but it got >> holes: >> >> * We don't assign IDs to default devices. >> >> * -device and device_add use the ID of a qemu_device_opts. Which >> rejects duplicate IDs. >> >> * pci_add nic -net use either the ID or option "name" of >> qemu_net_opts. And there's our hole. Reproducible with "-net user >> -net nic,id=foo -device lsi,id=foo". > > Two bugs that might not be related to this thread: > > * "id" member is not mandatory for the device_add command: > > { "execute": "device_add", "arguments": { "driver": "e1000" } } > {"return": {}}
Works as designed. > * "id" member remains in use when the netdev_add command fails: > > { "execute": "netdev_add", "arguments": { "id": "foobar" } } > {"error": {"class": "MissingParameter", "desc": "Parameter 'type' is > missing", "data": {"name": "type"}}} > > { "execute": "netdev_add", "arguments": { "type": "user", "id": "foobar" > } } > {"error": {"class": "DuplicateId", "desc": "Duplicate ID 'foobar' for > netdev", "data": {"object": "netdev", "id": "foobar"}}} Sounds like a bug.