Jan Kiszka <jan.kis...@siemens.com> writes: > Markus Armbruster wrote: >> [cc: kraxel] >> >> Jan Kiszka <jan.kis...@web.de> writes: >> >>> From: Jan Kiszka <jan.kis...@siemens.com> >>> >>> Device IDs may conflict with device names or aliases. From now on we >>> only accept them outside qtree paths. This also makes dumping IDs in >>> qbus_list_dev/bus obsolete. >>> >>> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> >> >> I don't like this at all. >> >> 1. Specific problem: >> >> With the current code, multiple devices with the same driver work >> only if I take care: addressing by driver name gets me only the >> first, so I better set suitable IDs. >> >> With your patch, multiple devices with the same driver don't work, no >> matter what I do. > > [ you already found how this is resolved ]
Yes, but I don't like that the intermediate state is broken, and I don't like the final state. >> 2. General principle: >> >> When I set an ID, I want the system to accept that ID in all contexts >> where it makes sense. Ambiguity created by badly chosen IDs is *my* >> problem. > > I disagree. IMO, QEMU should support the user to avoid such subtle > shadowing. IDs let me refer to my devices without having to look up ever-changing instance numbers. This is especially relevant when I want to do refer to buses without using (possibly ambigious) bus names. I want to be able to say bus=scsi-ctrl.2/scsi.0 instead of /i440FX-pcihost/pci.0/lsi53c895a.<ever-changing-number>/scsi.0 That's much more valuable to me than a well-meant attempt at protecting me from choosing IDs badly. Throw in multiple PCI buses, and a "no IDs in qdev paths" law becomes even more annoying.