Since qemu currently doesn't flush persistent bitmaps to disk until shutdown (which might be MUCH later), it's useful if 'query-block' at least shows WHICH bitmaps will (eventually) make it to persistent storage.
Signed-off-by: Eric Blake <ebl...@redhat.com> --- qapi/block-core.json | 5 ++++- block/dirty-bitmap.c | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/qapi/block-core.json b/qapi/block-core.json index dae5c7b4d83..2e0bd3c245a 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -450,11 +450,14 @@ # # @status: current status of the dirty bitmap (since 2.4) # +# @persistent: true if the bitmap will eventually be flushed to persistent +# storage (since 4.0) +# # Since: 1.3 ## { 'struct': 'BlockDirtyInfo', 'data': {'*name': 'str', 'count': 'int', 'granularity': 'uint32', - 'status': 'DirtyBitmapStatus'} } + 'status': 'DirtyBitmapStatus', 'persistent': 'bool' } } ## # @Qcow2BitmapInfoFlags: diff --git a/block/dirty-bitmap.c b/block/dirty-bitmap.c index 00ea36f5545..e46f72b346c 100644 --- a/block/dirty-bitmap.c +++ b/block/dirty-bitmap.c @@ -440,6 +440,7 @@ BlockDirtyInfoList *bdrv_query_dirty_bitmaps(BlockDriverState *bs) info->has_name = !!bm->name; info->name = g_strdup(bm->name); info->status = bdrv_dirty_bitmap_status(bm); + info->persistent = bm->persistent; entry->value = info; *plist = entry; plist = &entry->next; -- 2.20.1