[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/1] softmmu: fix device deletion events with -device JSON sy
|
From: |
Markus Armbruster |
|
Subject: |
Re: [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax |
|
Date: |
Fri, 14 Jan 2022 13:22:40 +0100 |
|
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Daniel P. Berrangé <berrange@redhat.com> writes:
> The -device JSON syntax impl leaks a reference on the created
> DeviceState instance. As a result when you hot-unplug the
> device, the device_finalize method won't be called and thus
> it will fail to emit the required DEVICE_DELETED event.
>
> A 'json-cli' feature was previously added against the
> 'device_add' QMP command QAPI schema to indicated to mgmt
> apps that -device supported JSON syntax. Given the hotplug
> bug that feature flag is no unusable for its purpose, so
As Laurent and Thomas pointed out, this should be "is not usable" or "is
unusable".
> we add a new 'json-cli-hotplug' feature to indicate the
> -device supports JSON without breaking hotplug.
>
> Fixes: https://gitlab.com/qemu-project/qemu/-/issues/802
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
> qapi/qdev.json | 5 ++++-
> softmmu/vl.c | 4 +++-
> tests/qtest/device-plug-test.c | 19 +++++++++++++++++++
> 3 files changed, 26 insertions(+), 2 deletions(-)
>
> diff --git a/qapi/qdev.json b/qapi/qdev.json
> index 69656b14df..26cd10106b 100644
> --- a/qapi/qdev.json
> +++ b/qapi/qdev.json
> @@ -44,6 +44,9 @@
> # @json-cli: If present, the "-device" command line option supports JSON
> # syntax with a structure identical to the arguments of this
> # command.
> +# @json-cli-hotplug: If present, the "-device" command line option supports
> JSON
> +# syntax without the reference counting leak that broke
> +# hot-unplug
For local consistency, please end the sentence with a period and wrap
lines like so:
# @json-cli-hotplug: If present, the "-device" command line option supports
# JSON syntax without the reference counting leak that
# broke hot-unplug.
> #
> # Notes:
> #
> @@ -74,7 +77,7 @@
> { 'command': 'device_add',
> 'data': {'driver': 'str', '*bus': 'str', '*id': 'str'},
> 'gen': false, # so we can get the additional arguments
> - 'features': ['json-cli'] }
> + 'features': ['json-cli', 'json-cli-hotplug'] }
>
> ##
> # @device_del:
Kevin, I hope you can apply these touch-ups in your tree. Then, QAPI
schema
Acked-by: Markus Armbruster <armbru@redhat.com>
[...]
- [PATCH 0/1] Fix -device JSON support wrt hotplug, Daniel P . Berrangé, 2022/01/05
- [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax, Daniel P . Berrangé, 2022/01/05
- Re: [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax, Thomas Huth, 2022/01/05
- Re: [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax, Ján Tomko, 2022/01/05
- Re: [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax, Laurent Vivier, 2022/01/05
- Re: [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax, Daniel P . Berrangé, 2022/01/05
- Re: [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax, Laurent Vivier, 2022/01/05
- Re: [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax, Daniel P . Berrangé, 2022/01/05
- Re: [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax, Thomas Huth, 2022/01/05
- Re: [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax, Laurent Vivier, 2022/01/05
Re: [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax,
Markus Armbruster <=
Re: [PATCH 0/1] Fix -device JSON support wrt hotplug, Kevin Wolf, 2022/01/11