From: Jan Kiszka <jan.kiszka@web.de>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Juan Quintela <quintela@redhat.com>,
Jan Kiszka <jan.kiszka@siemens.com>,
qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>,
Blue Swirl <blauwirbel@gmail.com>,
Gerd Hoffmann <kraxel@redhat.com>,
Luiz Capitulino <lcapitulino@redhat.com>,
Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] Re: [PATCH] qdev: Reject duplicate and anti-social device IDs
Date: Thu, 03 Jun 2010 08:26:52 +0200 [thread overview]
Message-ID: <4C074B2C.60304@web.de> (raw)
In-Reply-To: <4C055755.7060309@codemonkey.ws>
[-- Attachment #1: Type: text/plain, Size: 2122 bytes --]
Anthony Liguori wrote:
> On 06/01/2010 01:35 PM, Markus Armbruster wrote:
>> Luiz Capitulino<lcapitulino@redhat.com> writes:
>>
>>
>>> On Tue, 01 Jun 2010 16:44:24 +0200
>>> Markus Armbruster<armbru@redhat.com> wrote:
>>>
>>>
>>>> Luiz Capitulino<lcapitulino@redhat.com> writes:
>>>>
>>>>
>>>>> On Mon, 31 May 2010 16:13:12 +0200
>>>>> Markus Armbruster<armbru@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.
>>>>
>>> What about netdev_add?
>>>
>>> { "execute": "netdev_add", "arguments": { "type": "user" } }
>>> {"error": {"class": "MissingParameter", "desc": "Parameter 'id' is
>>> missing", "data": {"name": "id"}}}
>>>
>> The only way to put a netdev to use is connecting it to a NIC with
>> -device DRIVER,netdev=ID,... And that requires an ID.
>>
>
> To be honest, I think we should universally require an id parameter or
> we should auto-assign one and return it during creation.
>
> Implicit/Null ids with QemuOpts are really difficult to work with and it
> certainly makes device addressing a lot easier.
I really see no need for this additional burden. We always have unique
qtree paths for devices.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]
next prev parent reply other threads:[~2010-06-03 6:26 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-23 10:59 [Qemu-devel] [PATCH v3 00/17] Basic device state visualization Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 01/17] Add dependency of JSON unit tests on config-host.h Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 02/17] qdev: Fix scanning across single-bus devices Jan Kiszka
2010-06-03 5:58 ` Paul Brook
2010-06-03 6:12 ` Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 03/17] qdev: Allow device addressing via 'driver.instance' Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 04/17] qdev: Give qtree names precedence over user-assigned IDs Jan Kiszka
2010-05-29 8:01 ` Markus Armbruster
2010-05-30 8:16 ` Avi Kivity
2010-05-31 8:26 ` Markus Armbruster
2010-05-31 9:59 ` Gerd Hoffmann
2010-05-31 11:12 ` Markus Armbruster
2010-05-31 14:13 ` [Qemu-devel] [PATCH] qdev: Reject duplicate and anti-social device IDs Markus Armbruster
2010-05-31 18:55 ` [Qemu-devel] " Gerd Hoffmann
2010-06-01 13:04 ` Luiz Capitulino
2010-06-01 13:09 ` Jan Kiszka
2010-06-01 13:13 ` Luiz Capitulino
2010-06-01 13:19 ` Jan Kiszka
2010-06-01 13:21 ` Avi Kivity
2010-06-01 13:23 ` Luiz Capitulino
2010-06-01 14:44 ` Markus Armbruster
2010-06-01 14:49 ` Luiz Capitulino
2010-06-01 18:35 ` Markus Armbruster
2010-06-01 18:54 ` Anthony Liguori
2010-06-03 6:26 ` Jan Kiszka [this message]
2010-06-03 6:51 ` [Qemu-devel] " Paul Brook
2010-06-04 14:27 ` Markus Armbruster
2010-06-04 15:28 ` Paul Brook
2010-06-08 12:06 ` Markus Armbruster
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 05/17] qdev: Convert device and bus lists to QTAILQ Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 06/17] qdev: Allow device specification by qtree path for device_del Jan Kiszka
2010-05-27 19:36 ` [Qemu-devel] " Luiz Capitulino
2010-05-27 22:19 ` Jan Kiszka
2010-05-28 13:43 ` Luiz Capitulino
2010-05-28 14:16 ` Jan Kiszka
2010-05-28 14:40 ` Markus Armbruster
2010-05-28 14:56 ` Jan Kiszka
2010-05-29 8:05 ` Markus Armbruster
2010-05-29 8:16 ` Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 07/17] qdev: Push QMP mode checks into qbus_list_bus/dev Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 08/17] monitor: Add completion for qdev paths Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 09/17] Add base64 encoder/decoder Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 10/17] QMP: Reserve namespace for complex object classes Jan Kiszka
2010-05-27 20:08 ` [Qemu-devel] " Luiz Capitulino
2010-05-27 22:20 ` Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 11/17] Add QBuffer Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 12/17] monitor: return length of printed string via monitor_[v]printf Jan Kiszka
2010-05-29 8:09 ` Markus Armbruster
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 13/17] monitor: Allow to exclude commands from QMP Jan Kiszka
2010-05-27 20:31 ` [Qemu-devel] " Luiz Capitulino
2010-05-27 22:20 ` Jan Kiszka
2010-05-28 13:45 ` Luiz Capitulino
2010-05-29 8:15 ` Markus Armbruster
2010-05-29 8:33 ` Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 14/17] monitor: Add basic device state visualization Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 15/17] QMP: Teach basic capability negotiation to python example Jan Kiszka
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 16/17] QMP: Fix python helper /wrt long return strings Jan Kiszka
2010-05-27 20:35 ` [Qemu-devel] " Luiz Capitulino
2010-05-23 10:59 ` [Qemu-devel] [PATCH v3 17/17] QMP: Add support for buffer class to qmp python helper Jan Kiszka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C074B2C.60304@web.de \
--to=jan.kiszka@web.de \
--cc=anthony@codemonkey.ws \
--cc=armbru@redhat.com \
--cc=avi@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=jan.kiszka@siemens.com \
--cc=kraxel@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.