[PATCH v3 0/2] qdev-monitor: avoid QemuOpts in QMP device_add()

Stefan Hajnoczi posted 2 patches 2 months, 4 weeks ago
system/qdev-monitor.c | 44 ++++++++++++++++++++++++++++---------------
system/vl.c           | 14 ++++----------
2 files changed, 33 insertions(+), 25 deletions(-)
[PATCH v3 0/2] qdev-monitor: avoid QemuOpts in QMP device_add()
Posted by Stefan Hajnoczi 2 months, 4 weeks ago
v3:
- Duplicate drain_call_rcu() into hmp_device_add() because moving it into
  qdev_device_add_from_qdict turned out to be unsafe.
v2:
- Rename Patch 1 to indicate that we're avoiding QemuOpts rather than doing a
  full conversion to QAPI. Also mention that 'gen': false is still being used.
  [Markus]
- Add Patch 2 to address a TODO comment suggesting that
  qemu_create_cli_devices() should call qmp_device_add(). [Markus]
- Move drain_call_rcu() into qdev_device_add_from_qdict() to avoid code
  duplication. [Markus]

This series enables non-scalar parameter parsing in device_add (e.g.
virtio-blk-pci,iothread-vq-mapping=). Stop converting from QDict to QemuOpts
and back again as this loses type information and cannot represent non-scalars.

Stefan Hajnoczi (2):
  qdev-monitor: avoid QemuOpts in QMP device_add
  vl: use qmp_device_add() in qemu_create_cli_devices()

 system/qdev-monitor.c | 44 ++++++++++++++++++++++++++++---------------
 system/vl.c           | 14 ++++----------
 2 files changed, 33 insertions(+), 25 deletions(-)

-- 
2.46.0
Re: [PATCH v3 0/2] qdev-monitor: avoid QemuOpts in QMP device_add()
Posted by Kevin Wolf 1 week, 2 days ago
Am 27.08.2024 um 21:27 hat Stefan Hajnoczi geschrieben:
> v3:
> - Duplicate drain_call_rcu() into hmp_device_add() because moving it into
>   qdev_device_add_from_qdict turned out to be unsafe.
> v2:
> - Rename Patch 1 to indicate that we're avoiding QemuOpts rather than doing a
>   full conversion to QAPI. Also mention that 'gen': false is still being used.
>   [Markus]
> - Add Patch 2 to address a TODO comment suggesting that
>   qemu_create_cli_devices() should call qmp_device_add(). [Markus]
> - Move drain_call_rcu() into qdev_device_add_from_qdict() to avoid code
>   duplication. [Markus]
> 
> This series enables non-scalar parameter parsing in device_add (e.g.
> virtio-blk-pci,iothread-vq-mapping=). Stop converting from QDict to QemuOpts
> and back again as this loses type information and cannot represent non-scalars.

Thanks, applied to the block branch.

Kevin
Re: [PATCH v3 0/2] qdev-monitor: avoid QemuOpts in QMP device_add()
Posted by Kevin Wolf 2 weeks, 3 days ago
Am 27.08.2024 um 21:27 hat Stefan Hajnoczi geschrieben:
> v3:
> - Duplicate drain_call_rcu() into hmp_device_add() because moving it into
>   qdev_device_add_from_qdict turned out to be unsafe.
> v2:
> - Rename Patch 1 to indicate that we're avoiding QemuOpts rather than doing a
>   full conversion to QAPI. Also mention that 'gen': false is still being used.
>   [Markus]
> - Add Patch 2 to address a TODO comment suggesting that
>   qemu_create_cli_devices() should call qmp_device_add(). [Markus]
> - Move drain_call_rcu() into qdev_device_add_from_qdict() to avoid code
>   duplication. [Markus]
> 
> This series enables non-scalar parameter parsing in device_add (e.g.
> virtio-blk-pci,iothread-vq-mapping=). Stop converting from QDict to QemuOpts
> and back again as this loses type information and cannot represent non-scalars.

Reviewed-by: Kevin Wolf <kwolf@redhat.com>