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


Reply via email to