This patch series fixes a bug in BlockRAMRegistrar: it currently doesn't react to block graph changes and newly inserted nodes lack RAMBlock information needed to map I/O buffers. This is important for vdpa-blk devices because they rely on the ability to map I/O buffers.
Stefan Hajnoczi (4): block: add BdrvChildClass->propagate_attach/detach() callbacks block: add blk_add_attach/detach_notifier() APIs block: rename RAMBlockRegistrar->notifier field block: update inserted/removed nodes from BlockRAMRegistrar include/block/block_int-common.h | 11 ++ include/system/block-backend-global-state.h | 9 ++ include/system/block-ram-registrar.h | 4 +- block.c | 56 +++++-- block/block-backend.c | 44 ++++++ block/block-ram-registrar.c | 75 ++++++++- tests/unit/test-block-backend.c | 164 ++++++++++++++++++++ 7 files changed, 344 insertions(+), 19 deletions(-) -- 2.51.0
