mbox series

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

Message ID 20240827192751.948633-1-stefanha@redhat.com (mailing list archive)
Headers show
Series qdev-monitor: avoid QemuOpts in QMP device_add() | expand

Message

Stefan Hajnoczi Aug. 27, 2024, 7:27 p.m. UTC
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(-)

Comments

Kevin Wolf Nov. 6, 2024, 10:58 a.m. UTC | #1
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>
Kevin Wolf Nov. 14, 2024, 4:05 p.m. UTC | #2
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