[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an object |
Date: |
Thu, 24 Sep 2015 09:43:59 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
This has finally reached the front of my review queue. I apologize for
the loooong delay.
Copying Paolo for another pair of eyeballs (he wrote this code).
Yang Hongyang <address@hidden> writes:
> When delete an object, we need to delete the associated qemu opts,
> otherwise, we can not add another object with the same name using
> object_add.
> The case happens when we start qemu with:
> -object xxx,id=aa
> then we delete this object with:
> object_del aa
> then add the object with:
> object_add xxx,id=aa
>
> QEMU will return error with Duplicate ID error.
>
> Signed-off-by: Yang Hongyang <address@hidden>
> ---
> qmp.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/qmp.c b/qmp.c
> index 9623c80..4bd44c3 100644
> --- a/qmp.c
> +++ b/qmp.c
> @@ -686,6 +686,7 @@ void qmp_object_del(const char *id, Error **errp)
> {
> Object *container;
> Object *obj;
> + QemuOpts *opts;
>
> container = object_get_objects_root();
> obj = object_resolve_path_component(container, id);
> @@ -699,6 +700,9 @@ void qmp_object_del(const char *id, Error **errp)
> return;
> }
> object_unparent(obj);
> +
> + opts = qemu_opts_find(qemu_find_opts_err("object", NULL), id);
> + qemu_opts_del(opts);
qemu_find_opts_err("object", &error_abort) please, because when it
fails, we want to die right away, not when the null pointer it returns
gets dereferenced.
Same sloppiness in netdev_del_completion() and qmp_netdev_del(), not
your patch's fault.
Elsewhere, we store the QemuOpts in the object just so we can delete it:
DeviceState, DriveInfo. Paolo, what do you think?
> }
>
> MemoryDeviceInfoList *qmp_query_memory_devices(Error **errp)
- [Qemu-devel] [PATCH v11 00/12] Add a netfilter object and netbuffer filter, Yang Hongyang, 2015/09/16
- [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an object, Yang Hongyang, 2015/09/16
- Re: [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an object,
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an object, Yang Hongyang, 2015/09/24
- Re: [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an object, Markus Armbruster, 2015/09/24
- Re: [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an object, Yang Hongyang, 2015/09/24
- Re: [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an object, Markus Armbruster, 2015/09/24
- Re: [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an object, Yang Hongyang, 2015/09/24
- Re: [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an object, Yang Hongyang, 2015/09/24
- Re: [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an object, Markus Armbruster, 2015/09/24
- Re: [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an object, Yang Hongyang, 2015/09/24
- Re: [Qemu-devel] [PATCH v11 01/12] qmp: delete qemu opts when delete an object, Jason Wang, 2015/09/25
[Qemu-devel] [PATCH v11 03/12] netfilter: hook packets before net queue send, Yang Hongyang, 2015/09/16