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": {}} * "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"}}}