From e1ff3c67e8544f41f1bea76ba76385faee0d2bb7 Mon Sep 17 00:00:00 2001 From: Igor Mammedov Date: Tue, 10 Jan 2017 13:53:15 +0100 Subject: monitor: fix qmp/hmp query-memdev not reporting IDs of memory backends Considering 'id' is mandatory for user_creatable objects/backends and user_creatable_add_type() always has it as an argument regardless of where from it is called CLI/monitor or QMP, Fix issue by adding 'id' property to hostmem backends and set it in user_creatable_add_type() for every object that implements 'id' property. Then later at query-memdev time get 'id' from object directly. Signed-off-by: Igor Mammedov Message-Id: <1484052795-158195-4-git-send-email-imammedo@redhat.com> Reviewed-by: Eric Blake Signed-off-by: Eduardo Habkost --- qom/object_interfaces.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'qom') diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index 9b4155a227..03a95c3276 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -62,6 +62,12 @@ Object *user_creatable_add_type(const char *type, const char *id, assert(qdict); obj = object_new(type); + if (object_property_find(obj, "id", NULL)) { + object_property_set_str(obj, id, "id", &local_err); + if (local_err) { + goto out; + } + } visit_start_struct(v, NULL, NULL, 0, &local_err); if (local_err) { goto out; -- cgit v1.2.1