[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH] qdev: Reject duplicate and anti-social device I
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] Re: [PATCH] qdev: Reject duplicate and anti-social device IDs |
Date: |
Tue, 1 Jun 2010 10:04:34 -0300 |
On Mon, 31 May 2010 16:13:12 +0200
Markus Armbruster <address@hidden> 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"}}}