[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add()
From: |
Markus Armbruster |
Subject: |
Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add() |
Date: |
Fri, 20 Nov 2020 13:58:31 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Andrew Melnichenko <andrew@daynix.com> writes:
> Ping
>
> On Thu, Jul 16, 2020 at 6:26 AM <andrew@daynix.com> wrote:
>
>> From: Andrew Melnychenko <andrew@daynix.com>
>>
>> There is an issue, that netdev can't be removed if it was added using hmp.
>> The bug appears after 08712fcb851034228b61f75bd922863a984a4f60 commit.
>> It happens because of unclear QemuOpts that was created during
>> hmp_netdev_add(), now it uses qmp analog function -
>> qmp_marshal_netdev_add().
>>
>> Signed-off-by: Andrew Melnychenko <andrew@daynix.com>
>> ---
>> monitor/hmp-cmds.c | 15 +++------------
>> 1 file changed, 3 insertions(+), 12 deletions(-)
>>
>> diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
>> index 2b0b58a336..b747935687 100644
>> --- a/monitor/hmp-cmds.c
>> +++ b/monitor/hmp-cmds.c
>> @@ -1597,19 +1597,10 @@ void hmp_migrate(Monitor *mon, const QDict *qdict)
>> void hmp_netdev_add(Monitor *mon, const QDict *qdict)
>> {
>> Error *err = NULL;
>> - QemuOpts *opts;
>> -
>> - opts = qemu_opts_from_qdict(qemu_find_opts("netdev"), qdict, &err);
>> - if (err) {
>> - goto out;
>> - }
>> + QDict *non_constant_dict = qdict_clone_shallow(qdict);
>>
>> - netdev_add(opts, &err);
>> - if (err) {
>> - qemu_opts_del(opts);
>> - }
>> -
>> -out:
>> + qmp_marshal_netdev_add(non_constant_dict, NULL, &err);
>> + qobject_unref(non_constant_dict);
>> hmp_handle_error(mon, err);
>> }
qmp_marshal_netdev_add() uses the QObject input visitor, which feels
wrong for HMP input.
What exactly is the problem you're trying to solve? Can you show us a
reproducer?
- Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add(), Andrew Melnichenko, 2020/11/20
- Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add(),
Markus Armbruster <=
- Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add(), Yuri Benditovich, 2020/11/21
- Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add(), Yuri Benditovich, 2020/11/21
- Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add(), Andrew Melnichenko, 2020/11/22
- Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add(), Yuri Benditovich, 2020/11/22
- Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add(), Markus Armbruster, 2020/11/23
- Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add(), Eric Blake, 2020/11/23
- Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add(), Yuri Benditovich, 2020/11/23
- Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add(), Yuri Benditovich, 2020/11/23
- Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add(), Markus Armbruster, 2020/11/24
- Re: [PATCH] hmp: Changed hmp_netdev_add() using qmp_marshal_netdev_add(), Markus Armbruster, 2020/11/24