When adding new persistent dirty bitmaps, we only check constraints against currently stored bitmaps, and ignore the pending number and size of any bitmaps yet to be stored.
Rework the "can_store" and "remove" interface to explicit "add" and "remove", and begin keeping track of the queued burden when adding new bitmaps. Reported-by: aihua liang <ali...@redhat.com> Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1712636 John Snow (5): block/qcow2-bitmap: allow bitmap_list_load to return an error code block/dirty-bitmap: Refactor bdrv_can_store_new_bitmap block/dirty-bitmap: rework bdrv_remove_persistent_dirty_bitmap block/qcow2-bitmap: Count queued bitmaps towards nb_bitmaps block/qcow2-bitmap: Count queued bitmaps towards directory_size block/qcow2.h | 13 ++-- include/block/block.h | 2 - include/block/block_int.h | 11 ++- include/block/dirty-bitmap.h | 9 ++- block.c | 22 ------ block/dirty-bitmap.c | 71 +++++++++++++++--- block/qcow2-bitmap.c | 140 +++++++++++++++++++++-------------- block/qcow2.c | 2 +- blockdev.c | 34 ++++----- 9 files changed, 179 insertions(+), 125 deletions(-) -- 2.20.1