qom/qom-qmp-cmds.c | 7 ------- 1 file changed, 7 deletions(-)
qmp_device_list_properties() skips properties whose name starts with
"legacy-". This is a flawed test for "is a legacy property".
The test is flawed because non-legacy properties can and do start with
"legacy-". Back when it was added, no such properties existed. Right
now, three such properties do: property "legacy-cmb" of device "nvme",
and properties "legacy-cache" and "legacy-multi-node" of devices
"x86_64-cpu", "i386-cpu", and its children.
This affects QMP command "device-list-properties", HMP command
"device_add T,help", and command line option "-device T,help".
Legacy properties are gone since commit a61383f7ab (qdev: Legacy
properties are now unused internally, drop, 2025-10-22). This makes
the fix easy: delete the code that skips them.
Reproducer: -device nvme,help doesn't show legacy-cmb before the
patch, and does after.
Fixes: f4eb32b590 (qmp: show QOM properties in device-list-properties, 2014-05-20)
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
qom/qom-qmp-cmds.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/qom/qom-qmp-cmds.c b/qom/qom-qmp-cmds.c
index 48b38d2b7f..330895361d 100644
--- a/qom/qom-qmp-cmds.c
+++ b/qom/qom-qmp-cmds.c
@@ -218,13 +218,6 @@ ObjectPropertyInfoList *qmp_device_list_properties(const char *typename,
continue;
}
- /* Skip legacy properties since they are just string versions of
- * properties that we already list.
- */
- if (strstart(prop->name, "legacy-", NULL)) {
- continue;
- }
-
info = g_new0(ObjectPropertyInfo, 1);
info->name = g_strdup(prop->name);
info->type = g_strdup(prop->type);
--
2.54.0
On Wed, Jul 08, 2026 at 04:09:48PM +0200, Markus Armbruster wrote: > qmp_device_list_properties() skips properties whose name starts with > "legacy-". This is a flawed test for "is a legacy property". > > The test is flawed because non-legacy properties can and do start with > "legacy-". Back when it was added, no such properties existed. Right > now, three such properties do: property "legacy-cmb" of device "nvme", > and properties "legacy-cache" and "legacy-multi-node" of devices > "x86_64-cpu", "i386-cpu", and its children. > > This affects QMP command "device-list-properties", HMP command > "device_add T,help", and command line option "-device T,help". > > Legacy properties are gone since commit a61383f7ab (qdev: Legacy > properties are now unused internally, drop, 2025-10-22). This makes > the fix easy: delete the code that skips them. > > Reproducer: -device nvme,help doesn't show legacy-cmb before the > patch, and does after. > > Fixes: f4eb32b590 (qmp: show QOM properties in device-list-properties, 2014-05-20) > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- > qom/qom-qmp-cmds.c | 7 ------- > 1 file changed, 7 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> With regards, Daniel -- |: https://berrange.com ~~ https://hachyderm.io/@berrange :| |: https://libvirt.org ~~ https://entangle-photo.org :| |: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
© 2016 - 2026 Red Hat, Inc.