[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v5 01/10] qom: add helpers for UserCreatable obj
From: |
Andreas Färber |
Subject: |
Re: [Qemu-block] [PATCH v5 01/10] qom: add helpers for UserCreatable object types |
Date: |
Tue, 2 Feb 2016 15:47:48 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 |
Am 02.02.2016 um 13:57 schrieb Daniel P. Berrange:
> The QMP monitor code has two helper methods object_add
> and qmp_object_del that are called from several places
> in the code (QMP, HMP and main emulator startup).
>
> The HMP and main emulator startup code also share
> further logic that extracts the qom-type & id
> values from a qdict.
>
> We soon need to use this logic from qemu-img, qemu-io
> and qemu-nbd too, but don't want those to depend on
> the monitor, nor do we want to duplicate the code.
>
> To avoid this, move some code out of qmp.c and hmp.c
> adding new methods to qom/object_interfaces.c
>
> - user_creatable_add - takes a QDict holding a full
> object definition & instantiates it
> - user_creatable_add_type - takes an ID, type name,
> and QDict holding object properties & instantiates
> it
> - user_creatable_add_opts - takes a QemuOpts holding
> a full object definition & instantiates it
> - user_creatable_add_opts_foreach - variant on
> user_creatable_add_opts which can be directly used
> in conjunction with qemu_opts_foreach.
> - user_creatable_del - takes an ID and deletes the
> corresponding object
>
> The existing code is updated to use these new methods.
>
> Signed-off-by: Daniel P. Berrange <address@hidden>
> ---
> hmp.c | 52 +++---------
> include/monitor/monitor.h | 3 -
> include/qom/object_interfaces.h | 92 ++++++++++++++++++++
> qmp.c | 76 ++---------------
> qom/object_interfaces.c | 180
> ++++++++++++++++++++++++++++++++++++++++
> vl.c | 66 ++-------------
> 6 files changed, 296 insertions(+), 173 deletions(-)
No objections from my side, looks sane, but I'd appreciate Paolo/Stefan
to ack since I wasn't really involved in that code.
Regards,
Andreas
--
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG Nürnberg)