object_add: allow completion handler to get canonical path
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 <imammedo@redhat.com>
Acked-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
diff --git a/vl.c b/vl.c
index be69c7f..9ce65fc 100644
--- a/vl.c
+++ b/vl.c
@@ -2935,14 +2935,15 @@
goto out;
}
- user_creatable_complete(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:
object_unref(obj);
if (local_err) {