[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 03/33] object_add: allow completion handler to ge
From: |
Igor Mammedov |
Subject: |
[Qemu-devel] [PATCH v4 03/33] object_add: allow completion handler to get canonical path |
Date: |
Mon, 2 Jun 2014 15:24:59 +0200 |
Add object to /objects before calling user_creatable_complete()
handler, so that object might be able to call
object_get_canonical_path() in its completion handler.
Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: Peter Crosthwaite <address@hidden>
---
qmp.c | 11 ++++++++---
vl.c | 9 +++++----
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/qmp.c b/qmp.c
index a7f432b..b722dbe 100644
--- a/qmp.c
+++ b/qmp.c
@@ -565,13 +565,18 @@ void object_add(const char *type, const char *id, const
QDict *qdict,
}
}
- user_creatable_complete(obj, &local_err);
+ object_property_add_child(container_get(object_get_root(), "/objects"),
+ id, obj, &local_err);
if (local_err) {
goto out;
}
- object_property_add_child(container_get(object_get_root(), "/objects"),
- id, obj, &local_err);
+ user_creatable_complete(obj, &local_err);
+ if (local_err) {
+ object_property_del(container_get(object_get_root(), "/objects"),
+ id, &error_abort);
+ goto out;
+ }
out:
if (local_err) {
error_propagate(errp, local_err);
diff --git a/vl.c b/vl.c
index 0c15608..037aa62 100644
--- a/vl.c
+++ b/vl.c
@@ -2935,14 +2935,15 @@ static int object_create(QemuOpts *opts, void *opaque)
goto out;
}
+ object_property_add_child(container_get(object_get_root(), "/objects"),
+ id, obj, &local_err);
+
user_creatable_complete(obj, &local_err);
if (local_err) {
+ object_property_del(container_get(object_get_root(), "/objects"),
+ id, &error_abort);
goto out;
}
-
- object_property_add_child(container_get(object_get_root(), "/objects"),
- id, obj, &local_err);
-
out:
object_unref(obj);
if (local_err) {
--
1.7.1
- [Qemu-devel] [PATCH v4 00/33] pc: ACPI memory hotplug, Igor Mammedov, 2014/06/02
- [Qemu-devel] [PATCH v4 07/33] qdev: hotplug for buss-less devices, Igor Mammedov, 2014/06/02
- [Qemu-devel] [PATCH v4 09/33] pc: implement pc-dimm device abstraction, Igor Mammedov, 2014/06/02
- [Qemu-devel] [PATCH v4 08/33] qdev: expose DeviceState.hotplugged field as a property, Igor Mammedov, 2014/06/02
- [Qemu-devel] [PATCH v4 06/33] vl.c: extend -m option to support options for memory hotplug, Igor Mammedov, 2014/06/02