Kevin pointed out that block-ram-registrar doesn't handle graph changes. New
nodes must have all of guest RAM registered before they can process I/O
requests with BDRV_REQ_REGISTERED_BUF.
These patches add a mechanism for monitoring graph changes and use it to
refresh registered buffers in block-ram-registrar.
Stefan Hajnoczi (3):
block: add BdrvChildClass->pre_detach() and ->post_attach()
block-backend: add graph change notifier API
block-ram-registrar: reset when the graph changes
include/block/block_int-common.h | 8 +++
include/sysemu/block-backend-global-state.h | 10 +++
block.c | 34 +++++++++
block/block-backend.c | 79 +++++++++++++++++++++
block/block-ram-registrar.c | 40 +++++++++--
block/trace-events | 2 +
6 files changed, 168 insertions(+), 5 deletions(-)
--
2.39.0