[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 1/5] qom: provide root container for internal
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH v4 1/5] qom: provide root container for internal objs |
Date: |
Thu, 28 Sep 2017 15:11:33 +0800 |
User-agent: |
Mutt/1.9.0 (2017-09-02) |
On Thu, 09/28 10:59, Peter Xu wrote:
> We have object_get_objects_root() to keep user created objects, however
> no place for objects that will be used internally. Create such a
> container for internal objects.
>
> CC: Andreas Färber <address@hidden>
> CC: Markus Armbruster <address@hidden>
> CC: Paolo Bonzini <address@hidden>
> Suggested-by: Daniel P. Berrange <address@hidden>
> Signed-off-by: Peter Xu <address@hidden>
> ---
> include/qom/object.h | 11 +++++++++++
> qom/object.c | 11 +++++++++++
> 2 files changed, 22 insertions(+)
>
> diff --git a/include/qom/object.h b/include/qom/object.h
> index f3e5cff37a..e0d9824415 100644
> --- a/include/qom/object.h
> +++ b/include/qom/object.h
> @@ -1214,6 +1214,17 @@ Object *object_get_root(void);
> Object *object_get_objects_root(void);
>
> /**
> + * object_get_internal_root:
> + *
> + * Get the container object that holds internally used object
> + * instances. Any object which is put into this container must not be
> + * user visible, and it will not be exposed in the QOM tree.
> + *
> + * Returns: the internal object container
> + */
> +Object *object_get_internal_root(void);
> +
> +/**
> * object_get_canonical_path_component:
> *
> * Returns: The final component in the object's canonical path. The
> canonical
> diff --git a/qom/object.c b/qom/object.c
> index 3e18537e9b..6a7bd9257b 100644
> --- a/qom/object.c
> +++ b/qom/object.c
> @@ -1370,6 +1370,17 @@ Object *object_get_objects_root(void)
> return container_get(object_get_root(), "/objects");
> }
>
> +Object *object_get_internal_root(void)
> +{
> + static Object *internal_root;
> +
> + if (!internal_root) {
> + internal_root = object_new("container");
> + }
> +
> + return internal_root;
> +}
> +
> static void object_get_child_property(Object *obj, Visitor *v,
> const char *name, void *opaque,
> Error **errp)
> --
> 2.13.5
>
Reviewed-by: Fam Zheng <address@hidden>
- [Qemu-devel] [PATCH v4 0/5] iothread: allow to create internal iothreads, Peter Xu, 2017/09/27
- [Qemu-devel] [PATCH v4 1/5] qom: provide root container for internal objs, Peter Xu, 2017/09/27
- Re: [Qemu-devel] [PATCH v4 1/5] qom: provide root container for internal objs,
Fam Zheng <=
- [Qemu-devel] [PATCH v4 2/5] iothread: provide helpers for internal use, Peter Xu, 2017/09/27
- [Qemu-devel] [PATCH v4 3/5] iothread: export iothread_stop(), Peter Xu, 2017/09/27
- [Qemu-devel] [PATCH v4 4/5] iothread: delay the context release to finalize, Peter Xu, 2017/09/27
- [Qemu-devel] [PATCH v4 5/5] aio: fix assert when remove poll during destroy, Peter Xu, 2017/09/27
- Re: [Qemu-devel] [PATCH v4 0/5] iothread: allow to create internal iothreads, Stefan Hajnoczi, 2017/09/28