All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Laurent Vivier <lvivier@redhat.com>,
	Thomas Huth <thuth@redhat.com>, Peter Krempa <pkrempa@redhat.com>,
	qemu-devel@nongnu.org, Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eric Blake <eblake@redhat.com>
Subject: Re: [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax
Date: Fri, 14 Jan 2022 13:22:40 +0100	[thread overview]
Message-ID: <87v8ym1p7z.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20220105123847.4047954-2-berrange@redhat.com> ("Daniel P. =?utf-8?Q?Berrang=C3=A9=22's?= message of "Wed, 5 Jan 2022 12:38:47 +0000")

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>

[...]



  parent reply	other threads:[~2022-01-14 12:24 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-05 12:38 [PATCH 0/1] Fix -device JSON support wrt hotplug Daniel P. Berrangé
2022-01-05 12:38 ` [PATCH 1/1] softmmu: fix device deletion events with -device JSON syntax Daniel P. Berrangé
2022-01-05 12:49   ` Thomas Huth
2022-01-05 14:37   ` Ján Tomko
2022-01-05 14:49   ` Laurent Vivier
2022-01-05 14:55     ` Daniel P. Berrangé
2022-01-05 15:00       ` Laurent Vivier
2022-01-05 15:18         ` Daniel P. Berrangé
2022-01-05 15:19           ` Thomas Huth
2022-01-05 15:31           ` Laurent Vivier
2022-01-14 12:22   ` Markus Armbruster [this message]
2022-01-11 15:21 ` [PATCH 0/1] Fix -device JSON support wrt hotplug Kevin Wolf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v8ym1p7z.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=eblake@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=kwolf@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=pkrempa@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.