qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] vhost-user-blk: live resize additional APIs
@ 2024-03-01 17:11 Vladimir Sementsov-Ogievskiy
  2024-03-01 17:11 ` [PATCH v2 1/6] vhost-user-blk: simplify and fix vhost_user_blk_handle_config_change Vladimir Sementsov-Ogievskiy
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Vladimir Sementsov-Ogievskiy @ 2024-03-01 17:11 UTC (permalink / raw)
  To: qemu-block, raphael, mst
  Cc: kwolf, hreitz, pbonzini, berrange, eduardo, dave, armbru, eblake,
	qemu-devel, vsementsov, yc-core

v2:
- now based on master
- drop x- prefixes, still keep new APIs "unstable"

Also:

01: add a-b by Raphael
    add note about removed comment "valid for resize only"
02-03: new patches, following review of old "02", which is now 04
04: use GenericError
    wording
    keep short name device-sync-config still
06: rename event to VIRTIO_CONFIG_READ

===

In vhost-user protocol we have VHOST_USER_BACKEND_CONFIG_CHANGE_MSG,
which backend may send to notify Qemu, that we should re-read the
config, and notify the guest.

Still that's not always convenient: backend may not support this
message. Also, having QMP command to force config sync is more reliable
than waiting for notification from external program. It also may be
helpful for debug/restore: if we have changed disk size, but guest
doesn't see that, it's good to have a separate QMP command to trigger
resync of the config.

So, the series proposes two experimental APIs:

1. device-sync-config command, to trigger config synchronization

2. CONFIG_READ event, which notify management tool that guest read the
updated config. Of course, that can't guarantee that the guest correctly
handled the updated config, but it's still better than nothing: for sure
guest will not show new disk size until it read the updated config. So,
management tool may wait for this event to report success to the user.

Vladimir Sementsov-Ogievskiy (6):
  vhost-user-blk: simplify and fix vhost_user_blk_handle_config_change
  qdev-monitor: fix error message in find_device_state()
  qdev-monitor: add option to report GenericError from find_device_state
  qapi: introduce device-sync-config
  qapi: device-sync-config: check runstate
  qapi: introduce CONFIG_READ event

 hw/block/vhost-user-blk.c | 32 +++++++++++-------
 hw/virtio/virtio-pci.c    | 18 ++++++++++
 include/hw/qdev-core.h    |  3 ++
 include/monitor/qdev.h    |  2 ++
 include/sysemu/runstate.h |  1 +
 monitor/monitor.c         |  1 +
 qapi/qdev.json            | 43 ++++++++++++++++++++++++
 stubs/qdev.c              |  6 ++++
 system/qdev-monitor.c     | 71 ++++++++++++++++++++++++++++++++++++---
 system/runstate.c         |  5 +++
 10 files changed, 165 insertions(+), 17 deletions(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-03-15 13:35 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-01 17:11 [PATCH v2 0/6] vhost-user-blk: live resize additional APIs Vladimir Sementsov-Ogievskiy
2024-03-01 17:11 ` [PATCH v2 1/6] vhost-user-blk: simplify and fix vhost_user_blk_handle_config_change Vladimir Sementsov-Ogievskiy
2024-03-01 17:11 ` [PATCH v2 2/6] qdev-monitor: fix error message in find_device_state() Vladimir Sementsov-Ogievskiy
2024-03-07  9:17   ` Markus Armbruster
2024-03-01 17:11 ` [PATCH v2 3/6] qdev-monitor: add option to report GenericError from find_device_state Vladimir Sementsov-Ogievskiy
2024-03-07  9:46   ` Markus Armbruster
2024-03-07 10:03     ` Vladimir Sementsov-Ogievskiy
2024-03-15 12:51       ` Markus Armbruster
2024-03-15 13:34         ` Vladimir Sementsov-Ogievskiy
2024-03-07 14:58     ` Vladimir Sementsov-Ogievskiy
2024-03-01 17:11 ` [PATCH v2 4/6] qapi: introduce device-sync-config Vladimir Sementsov-Ogievskiy
2024-03-07  9:54   ` Markus Armbruster
2024-03-07 10:06     ` Vladimir Sementsov-Ogievskiy
2024-03-01 17:11 ` [PATCH v2 5/6] qapi: device-sync-config: check runstate Vladimir Sementsov-Ogievskiy
2024-03-07  9:57   ` Markus Armbruster
2024-03-07 11:41     ` Vladimir Sementsov-Ogievskiy
2024-03-01 17:11 ` [PATCH v2 6/6] qapi: introduce CONFIG_READ event Vladimir Sementsov-Ogievskiy
2024-03-07 10:01   ` Markus Armbruster
2024-03-07 11:42     ` Vladimir Sementsov-Ogievskiy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).