[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: |
Fri, 15 Oct 2021 16:38:53 +0200 |
Am 08.10.2021 um 15:34 hat Kevin Wolf geschrieben:
> 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.
Thanks for the review and testing, applied to my tree.
Kevin
- [PATCH v2 11/15] qdev: Add Error parameter to hide_device() callbacks, (continued)
- [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, Peter Krempa, 2021/10/15
- Re: [PATCH v2 00/15] qdev: Add JSON -device,
Kevin Wolf <=