Hi all. This is a proposal and realization of new NBD meta context: qemu-dirty-bitmap. (I'll send corresponding proposal to NBD protocol after some negotiation here)
Corresponding queries will look like: qemu-dirty-bitmap:<export-bitmap-name> Mapping from export-bitmap-name to BdrvDirtyBitmap is done through qmp command nbd-server-add-bitmap. For now, only one bitmap export is allowed per NBD export, however it may be easily improved if needed (we don't have such cases for now) Client and testing. I wrote client code for Virtuozzo, but it turned out to be unused, actually it's used only for tests. We don't have cases, where we need to import dirty bitmap through qemu nbd-client. All this done for exporting dirty bitmaps to the third tool. So, I think, it is not worth refactoring, rebasing and merging client part upstream, if there are no real usage cases. Vladimir Sementsov-Ogievskiy (4): nbd/server: refactor nbd_negotiate_meta_query for several namespaces nbd/server: add nbd_meta_single_query helper nbd/server: implement dirty bitmap export qapi: new qmp command nbd-server-add-bitmap qapi/block.json | 27 +++++ include/block/nbd.h | 2 + blockdev-nbd.c | 23 ++++ nbd/server.c | 308 ++++++++++++++++++++++++++++++++++++++++++++++------ 4 files changed, 324 insertions(+), 36 deletions(-) -- 2.11.1