From: David Hildenbrand <david@redhat.com> To: qemu-devel@nongnu.org Cc: "Michael S . Tsirkin" <mst@redhat.com>, Michal Privoznik <mprivozn@redhat.com>, David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Eric Blake <eblake@redhat.com> Subject: [PATCH v3 2/3] qapi: Include qom-path in MEMORY_DEVICE_SIZE_CHANGE qapi events Date: Wed, 29 Sep 2021 18:24:44 +0200 [thread overview] Message-ID: <20210929162445.64060-3-david@redhat.com> (raw) In-Reply-To: <20210929162445.64060-1-david@redhat.com> As we might not always have a device id, it is impossible to always match MEMORY_DEVICE_SIZE_CHANGE events to an actual device. Let's include the qom-path in the event, which allows for reliable mapping of events to devices. Fixes: 722a3c783ef4 ("virtio-pci: Send qapi events when the virtio-mem size changes") Suggested-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: David Hildenbrand <david@redhat.com> --- hw/virtio/virtio-mem-pci.c | 5 ++++- qapi/machine.json | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/hw/virtio/virtio-mem-pci.c b/hw/virtio/virtio-mem-pci.c index 7e384b7397..be2383b0c5 100644 --- a/hw/virtio/virtio-mem-pci.c +++ b/hw/virtio/virtio-mem-pci.c @@ -87,9 +87,12 @@ static void virtio_mem_pci_size_change_notify(Notifier *notifier, void *data) VirtIOMEMPCI *pci_mem = container_of(notifier, VirtIOMEMPCI, size_change_notifier); DeviceState *dev = DEVICE(pci_mem); + char *qom_path = object_get_canonical_path(OBJECT(dev)); const uint64_t * const size_p = data; - qapi_event_send_memory_device_size_change(!!dev->id, dev->id, *size_p); + qapi_event_send_memory_device_size_change(!!dev->id, dev->id, *size_p, + qom_path); + g_free(qom_path); } static void virtio_mem_pci_class_init(ObjectClass *klass, void *data) diff --git a/qapi/machine.json b/qapi/machine.json index 32d47f4e35..8258b9ce3a 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -1279,8 +1279,11 @@ # action). # # @id: device's ID +# # @size: the new size of memory that the device provides # +# @qom-path: path to the device object in the QOM tree (since 6.2) +# # Note: this event is rate-limited. # # Since: 5.1 @@ -1293,7 +1296,7 @@ # ## { 'event': 'MEMORY_DEVICE_SIZE_CHANGE', - 'data': { '*id': 'str', 'size': 'size' } } + 'data': { '*id': 'str', 'size': 'size', 'qom-path' : 'str'} } ## -- 2.31.1
next prev parent reply other threads:[~2021-09-29 16:32 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-29 16:24 [PATCH v3 0/3] monitor: Rate-limit MEMORY_DEVICE_SIZE_CHANGE qapi events per device David Hildenbrand 2021-09-29 16:24 ` [PATCH v3 1/3] virtio-mem-pci: Fix memory leak when creating MEMORY_DEVICE_SIZE_CHANGE event David Hildenbrand 2021-09-29 16:24 ` David Hildenbrand [this message] 2021-09-29 16:24 ` [PATCH v3 3/3] monitor: Rate-limit MEMORY_DEVICE_SIZE_CHANGE qapi events per device David Hildenbrand 2021-09-30 6:06 ` [PATCH v3 0/3] " Markus Armbruster
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=20210929162445.64060-3-david@redhat.com \ --to=david@redhat.com \ --cc=armbru@redhat.com \ --cc=dgilbert@redhat.com \ --cc=eblake@redhat.com \ --cc=imammedo@redhat.com \ --cc=mprivozn@redhat.com \ --cc=mst@redhat.com \ --cc=qemu-devel@nongnu.org \ --subject='Re: [PATCH v3 2/3] qapi: Include qom-path in MEMORY_DEVICE_SIZE_CHANGE qapi events' \ /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
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.