Hi!
The main feature here is improvement of _next_dirty_area API, which I'm
going to use then for backup / block-copy.
v2:
01: just use INT64_MAX instead of adding new constant
08: add separate function nbd_extent_array_convert_to_be and converted
state of NBDExtentArray, to make these things explicit, and avoid
extra memdup.
09: Save part of comment for bitmap_to_extents(), add Eric's r-b
Vladimir Sementsov-Ogievskiy (10):
hbitmap: assert that we don't create bitmap larger than INT64_MAX
hbitmap: move hbitmap_iter_next_word to hbitmap.c
hbitmap: unpublish hbitmap_iter_skip_words
hbitmap: drop meta bitmaps as they are unused
block/dirty-bitmap: switch _next_dirty_area and _next_zero to int64_t
block/dirty-bitmap: add _next_dirty API
block/dirty-bitmap: improve _next_dirty_area API
nbd/server: introduce NBDExtentArray
nbd/server: use bdrv_dirty_bitmap_next_dirty_area
block/qcow2-bitmap: use bdrv_dirty_bitmap_next_dirty
include/block/dirty-bitmap.h | 9 +-
include/qemu/hbitmap.h | 97 +++--------
block/dirty-bitmap.c | 16 +-
block/mirror.c | 15 +-
block/qcow2-bitmap.c | 11 +-
nbd/server.c | 242 +++++++++++++--------------
tests/test-hbitmap.c | 314 +++++++++++++----------------------
util/hbitmap.c | 133 +++++++++------
8 files changed, 373 insertions(+), 464 deletions(-)
--
2.21.0