aboutsummaryrefslogtreecommitdiff
path: root/qom
diff options
context:
space:
mode:
authorIgor Mammedov <imammedo@redhat.com>2017-01-10 13:53:15 +0100
committerEduardo Habkost <ehabkost@redhat.com>2017-01-12 15:35:06 -0200
commite1ff3c67e8544f41f1bea76ba76385faee0d2bb7 (patch)
tree098cc8b6629e0185d4b11706d44211296f0f5f23 /qom
parent3a4641054e320d8ad7e780c30010b1c1dbfc56e8 (diff)
downloadqemu-e1ff3c67e8544f41f1bea76ba76385faee0d2bb7.zip
qemu-e1ff3c67e8544f41f1bea76ba76385faee0d2bb7.tar.gz
qemu-e1ff3c67e8544f41f1bea76ba76385faee0d2bb7.tar.bz2
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 <imammedo@redhat.com> Message-Id: <1484052795-158195-4-git-send-email-imammedo@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'qom')
-rw-r--r--qom/object_interfaces.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c
index 9b4155a..03a95c3 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;