[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 00/15] qdev: Add JSON -device
From: |
Kevin Wolf |
Subject: |
Re: [PATCH v2 00/15] qdev: Add JSON -device |
Date: |
Wed, 13 Oct 2021 18:53:56 +0200 |
Am 13.10.2021 um 17:30 hat Michael S. Tsirkin geschrieben:
> On Fri, Oct 08, 2021 at 03:34:27PM +0200, Kevin Wolf wrote:
> > It's still a long way until we'll have QAPIfied devices, but there are
> > some improvements that we can already make now to make the future switch
> > easier.
> >
> > One important part of this is having code paths without QemuOpts, which
> > we want to get rid of and replace with the keyval parser in the long
> > run. This series adds support for JSON syntax to -device, which bypasses
> > QemuOpts.
> >
> > While we're not using QAPI yet, devices are based on QOM, so we already
> > do have type checks and an implied schema. JSON syntax supported now can
> > be supported by QAPI later and regarding command line compatibility,
> > actually switching to it becomes an implementation detail this way (of
> > course, it will still add valuable user-visible features like
> > introspection and documentation).
> >
> > Apart from making things more future proof, this also immediately adds
> > a way to do non-scalar properties on the command line. nvme could have
> > used list support recently, and the lack of it in -device led to some
> > rather unnatural solution in the first version (doing the relationship
> > between a device and objects backwards) and loss of features in the
> > following. With this series, using a list as a device property should be
> > possible without any weird tricks.
> >
> > Unfortunately, even QMP device_add goes through QemuOpts before this
> > series, which destroys any type safety QOM provides and also can't
> > support non-scalar properties. This is a bug, but it turns out that
> > libvirt actually relies on it and passes only strings for everything.
> > So this series still leaves device_add alone until libvirt is fixed.
>
>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
>
> I assume you are merging this?
Yes, I can merge it through my tree. Thanks for the review!
Kevin
- [PATCH v2 10/15] qemu-option: Allow deleting opts during qemu_opts_foreach(), (continued)
- [PATCH v2 10/15] qemu-option: Allow deleting opts during qemu_opts_foreach(), Kevin Wolf, 2021/10/08
- [PATCH v2 13/15] virtio-net: Avoid QemuOpts in failover_find_primary_device(), Kevin Wolf, 2021/10/08
- [PATCH v2 11/15] qdev: Add Error parameter to hide_device() callbacks, Kevin Wolf, 2021/10/08
- [PATCH v2 12/15] virtio-net: Store failover primary opts pointer locally, Kevin Wolf, 2021/10/08
- [PATCH v2 14/15] qdev: Base object creation on QDict rather than QemuOpts, Kevin Wolf, 2021/10/08
- [PATCH v2 15/15] vl: Enable JSON syntax for -device, Kevin Wolf, 2021/10/08
- Re: [PATCH v2 00/15] qdev: Add JSON -device, Michael S. Tsirkin, 2021/10/13
- Re: [PATCH v2 00/15] qdev: Add JSON -device,
Kevin Wolf <=
- Re: [PATCH v2 00/15] qdev: Add JSON -device, Peter Krempa, 2021/10/15
- Re: [PATCH v2 00/15] qdev: Add JSON -device, Kevin Wolf, 2021/10/15