From: Markus Armbruster <armbru@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
qemu-devel@nongnu.org, eblake@redhat.com, eduardo@habkost.net,
berrange@redhat.com, pbonzini@redhat.com,
marcel.apfelbaum@gmail.com, philmd@linaro.org,
antonkuchin@yandex-team.ru, den-plotnikov@yandex-team.ru
Subject: Re: [PATCH v7 1/4] qapi/qdev.json: unite DEVICE_* event data into single structure
Date: Mon, 22 May 2023 11:27:27 +0200 [thread overview]
Message-ID: <87a5xwogw0.fsf@pond.sub.org> (raw)
In-Reply-To: <20230518160434-mutt-send-email-mst@kernel.org> (Michael S. Tsirkin's message of "Thu, 18 May 2023 16:06:28 -0400")
"Michael S. Tsirkin" <mst@redhat.com> writes:
> On Fri, Apr 21, 2023 at 01:32:04PM +0300, Vladimir Sementsov-Ogievskiy wrote:
>> DEVICE_DELETED and DEVICE_UNPLUG_GUEST_ERROR has equal data, let's
>> refactor it to one structure. That also helps to add new events
>> consistently.
>>
>> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
>
> Can QAPI maintainers please review this patchset?
> It's been a month.
It's been a busy month; sorry for the delay.
>> ---
>> qapi/qdev.json | 39 +++++++++++++++++++++++++++------------
>> 1 file changed, 27 insertions(+), 12 deletions(-)
>>
>> diff --git a/qapi/qdev.json b/qapi/qdev.json
>> index 2708fb4e99..135cd81586 100644
>> --- a/qapi/qdev.json
>> +++ b/qapi/qdev.json
>> @@ -114,16 +114,37 @@
>> { 'command': 'device_del', 'data': {'id': 'str'} }
>>
>> ##
>> -# @DEVICE_DELETED:
>> +# @DeviceAndPath:
>> #
>> -# Emitted whenever the device removal completion is acknowledged by the guest.
>> -# At this point, it's safe to reuse the specified device ID. Device removal can
>> -# be initiated by the guest or by HMP/QMP commands.
>> +# In events we designate devices by both their ID (if the device has one)
>> +# and QOM path.
>> +#
>> +# Why we need ID? User specify ID in device_add command and in command line
>> +# and expects same identifier in the event data.
>> +#
>> +# Why we need QOM path? Some devices don't have ID and we still want to emit
>> +# events for them.
>> +#
>> +# So, we have a bit of redundancy, as QOM path for device that has ID is
>> +# always /machine/peripheral/ID. But that's hard to change keeping both
>> +# simple interface for most users and universality for the generic case.
Hmm. I appreciate rationale, but I'm not sure it fits here. Would
readers be worse off if we dropped it?
>> #
>> # @device: the device's ID if it has one
>> #
>> # @path: the device's QOM path
>> #
>> +# Since: 8.0
>> +##
>> +{ 'struct': 'DeviceAndPath',
>> + 'data': { '*device': 'str', 'path': 'str' } }
>> +
>
> Should be Since: 8.1 no?
Yes.
Please format like
##
# @DeviceAndPath:
#
# In events we designate devices by both their ID (if the device has
# one) and QOM path.
#
# Why we need ID? User specify ID in device_add command and in
# command line and expects same identifier in the event data.
#
# Why we need QOM path? Some devices don't have ID and we still want
# to emit events for them.
#
# So, we have a bit of redundancy, as QOM path for device that has ID
# is always /machine/peripheral/ID. But that's hard to change keeping
# both simple interface for most users and universality for the
# generic case.
#
# @device: the device's ID if it has one
#
# @path: the device's QOM path
#
# Since: 8.0
##
to blend in with recent commit a937b6aa739 (qapi: Reformat doc comments
to conform to current conventions).
>> +##
>> +# @DEVICE_DELETED:
>> +#
>> +# Emitted whenever the device removal completion is acknowledged by the guest.
>> +# At this point, it's safe to reuse the specified device ID. Device removal can
>> +# be initiated by the guest or by HMP/QMP commands.
>> +#
Conflict resolution:
# Emitted whenever the device removal completion is acknowledged by
# the guest. At this point, it's safe to reuse the specified device
# ID. Device removal can be initiated by the guest or by HMP/QMP
# commands.
>> # Since: 1.5
>> #
>> # Example:
>> @@ -134,18 +155,13 @@
>> # "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
>> #
>> ##
>> -{ 'event': 'DEVICE_DELETED',
>> - 'data': { '*device': 'str', 'path': 'str' } }
>> +{ 'event': 'DEVICE_DELETED', 'data': 'DeviceAndPath' }
>>
>> ##
>> # @DEVICE_UNPLUG_GUEST_ERROR:
>> #
>> # Emitted when a device hot unplug fails due to a guest reported error.
>> #
>> -# @device: the device's ID if it has one
>> -#
>> -# @path: the device's QOM path
>> -#
>> # Since: 6.2
>> #
>> # Example:
>> @@ -156,5 +172,4 @@
>> # "timestamp": { "seconds": 1615570772, "microseconds": 202844 } }
>> #
>> ##
>> -{ 'event': 'DEVICE_UNPLUG_GUEST_ERROR',
>> - 'data': { '*device': 'str', 'path': 'str' } }
>> +{ 'event': 'DEVICE_UNPLUG_GUEST_ERROR', 'data': 'DeviceAndPath' }
>> --
>> 2.34.1
next prev parent reply other threads:[~2023-05-22 9:29 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-21 10:32 [PATCH v7 0/4] pci hotplug tracking Vladimir Sementsov-Ogievskiy
2023-04-21 10:32 ` [PATCH v7 1/4] qapi/qdev.json: unite DEVICE_* event data into single structure Vladimir Sementsov-Ogievskiy
2023-05-18 20:06 ` Michael S. Tsirkin
2023-05-22 9:27 ` Markus Armbruster [this message]
2023-05-22 11:43 ` Vladimir Sementsov-Ogievskiy
2023-05-22 12:13 ` Markus Armbruster
2023-05-22 12:32 ` Vladimir Sementsov-Ogievskiy
2023-04-21 10:32 ` [PATCH v7 2/4] qapi: add DEVICE_ON and query-hotplug infrastructure Vladimir Sementsov-Ogievskiy
2023-05-19 15:20 ` Philippe Mathieu-Daudé
2023-05-22 11:56 ` Vladimir Sementsov-Ogievskiy
2023-10-04 19:34 ` Vladimir Sementsov-Ogievskiy
2023-05-22 10:47 ` Markus Armbruster
2023-05-22 12:27 ` Vladimir Sementsov-Ogievskiy
2023-04-21 10:32 ` [PATCH v7 3/4] shpc: implement DEVICE_ON event and query-hotplug Vladimir Sementsov-Ogievskiy
2023-04-21 10:32 ` [PATCH v7 4/4] pcie: " Vladimir Sementsov-Ogievskiy
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=87a5xwogw0.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=antonkuchin@yandex-team.ru \
--cc=berrange@redhat.com \
--cc=den-plotnikov@yandex-team.ru \
--cc=eblake@redhat.com \
--cc=eduardo@habkost.net \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=vsementsov@yandex-team.ru \
/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.