On Tue, Feb 14, 2023 at 09:54:22AM +0100, Markus Armbruster wrote: > Daniel P. Berrangé <berrange@xxxxxxxxxx> writes: > > > On Mon, Feb 13, 2023 at 05:01:01PM +0300, Vladimir Sementsov-Ogievskiy wrote: > >> The device field is redundant, because QOM path always include device > >> ID when this ID exist. > > > > The flipside to that view is that applications configuring QEMU are > > specifying the device ID for -device (CLI) / device_add (QMP) and > > not the QOM path. IOW, the device ID is the more interesting field > > than QOM path, so feels like the wrong one to be dropping. > > QOM path is a reliable way to identify a device. Device ID isn't: > devices need not have one. Therefore, dropping the QOM path would be > wrong. > > > Is there any real benefit to dropping this ? > > The device ID is a trap for the unwary: relying on it is fine until you > run into a scenario where you have to deal with devices lacking IDs. When a mgmt app is configuring QEMU though, it does it exclusively with device ID values. If I add a device "-device foo,id=dev0", and then later hot-unplug it "device_del dev0", it is pretty reasonable to then expect that the DEVICE_DELETED even will then include the ID value the app has been using elsewhere. If the mgmt app is using IDs everywhere when dealing with a device, then trap effectively doesn't exist for their usage scenario. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|