Daniel P. Berrangé <berra...@redhat.com> 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. I suggested to deprecate it in review of "[PATCH v3 14/15] qapi: introduce DEVICE_ON event" (Message-ID: <873579x67l....@pond.sub.org>). Quote: We commonly send both device ID and QOM path, mostly for historical reasons: the former precede the latter. There are exceptions, such as query-cpus-fast. Can't say offhand whether CPUs can be created with IDs. [...] I'd be in favour of deprecating and deleting redundant device IDs in QMP output.