From: Markus Armbruster <armbru@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
"Eduardo Habkost" <eduardo@habkost.net>,
pkrempa@redhat.com, "Daniel P. Berrangé" <berrange@redhat.com>
Subject: Re: [PATCH v2 2/2] vl: use qmp_device_add() in qemu_create_cli_devices()
Date: Fri, 02 Aug 2024 10:07:53 +0200 [thread overview]
Message-ID: <871q3773fq.fsf@pond.sub.org> (raw)
In-Reply-To: <20240801140552.1021693-3-stefanha@redhat.com> (Stefan Hajnoczi's message of "Thu, 1 Aug 2024 10:05:52 -0400")
Stefan Hajnoczi <stefanha@redhat.com> writes:
> qemu_create_cli_devices() should use qmp_device_add() to match the
> behavior of the QMP monitor. A comment explained that libvirt changes
> implementing strict CLI syntax were needed.
>
> Peter Krempa <pkrempa@redhat.com> has confirmed that modern libvirt uses
> the same JSON for -device (CLI) and device_add (QMP). Go ahead and use
> qmp_device_add().
>
> Cc: Peter Krempa <pkrempa@redhat.com>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
> system/vl.c | 14 ++++----------
> 1 file changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/system/vl.c b/system/vl.c
> index 9e8f16f155..0beb8bfb57 100644
> --- a/system/vl.c
> +++ b/system/vl.c
> @@ -2651,17 +2651,11 @@ static void qemu_create_cli_devices(void)
> qemu_opts_foreach(qemu_find_opts("device"),
> device_init_func, NULL, &error_fatal);
> QTAILQ_FOREACH(opt, &device_opts, next) {
> - DeviceState *dev;
> + QObject *ret_data = NULL;
> +
> loc_push_restore(&opt->loc);
> - /*
> - * TODO Eventually we should call qmp_device_add() here to make sure it
> - * behaves the same, but QMP still has to accept incorrectly typed
> - * options until libvirt is fixed and we want to be strict on the CLI
> - * from the start, so call qdev_device_add_from_qdict() directly for
> - * now.
> - */
> - dev = qdev_device_add_from_qdict(opt->opts, true, &error_fatal);
> - object_unref(OBJECT(dev));
> + qmp_device_add(opt->opts, &ret_data, &error_fatal);
> + assert(ret_data == NULL); /* error_fatal aborts */
> loc_pop(&opt->loc);
> }
> rom_reset_order_override();
Reviewed-by: Markus Armbruster <armbru@redhat.com>
next prev parent reply other threads:[~2024-08-02 8:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-01 14:05 [PATCH v2 0/2] qdev-monitor: avoid QemuOpts in QMP device_add Stefan Hajnoczi
2024-08-01 14:05 ` [PATCH v2 1/2] " Stefan Hajnoczi
2024-08-02 8:01 ` Markus Armbruster
2024-08-12 18:07 ` Stefan Hajnoczi
2024-08-29 14:09 ` Markus Armbruster
2024-08-01 14:05 ` [PATCH v2 2/2] vl: use qmp_device_add() in qemu_create_cli_devices() Stefan Hajnoczi
2024-08-02 8:07 ` Markus Armbruster [this message]
2024-08-02 8:10 ` [PATCH v2 0/2] qdev-monitor: avoid QemuOpts in QMP device_add Markus Armbruster
2024-08-12 18:15 ` Stefan Hajnoczi
2024-08-13 8:18 ` Paul Durrant
2024-08-27 19:20 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871q3773fq.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=eduardo@habkost.net \
--cc=pbonzini@redhat.com \
--cc=pkrempa@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.