ping. No dependencies, apply to master. 17.09.2018 17:57, Vladimir Sementsov-Ogievskiy wrote: > Hi all. > > 1. bdrv_dirty_iter_next_area don't use hbitmap_next_zero and uses > inefficient loop instead. Let's improve it. > > 2. bdrv_dirty_iter_next_area don't handle unaligned offset and > max_offset correctly. I'm not sure that it is a real bug. But if it is, > we need these series in 3.0. > > Details are in 05 commit message. > > Note: "[PATCH] nbd/server: fix bitmap export" should be applied first: > Based-on: <20180914165116.23182-1-vsement...@virtuozzo.com> > > v4: > > Rework: switch interface to start,count / offset,bytes style. > Fix wrong handling of the case when requested region end exceeds > overall bitmap end. > Some other changes. > > 06-08: add John's r-b. > > v3: > 01: - change interface to start/end, and -1 as special end-marker instead of 0 > - "not found" for invalid regions instead of assert > 02: rebase on 01 changes > 03: - fix mistake in hbitmap_iter_init arguments (mistake in > hbitmap_next_zero arguments is fixed automatically due to 01 changes) > 04: new > > > v2: > > 01: - improve comment > - s/bytes/count/ > - fix forgotten function call in test > - introduce orig_size field here for HBitmap, > make checking in hbitmap_next_zero more effective and safe > 02: new > 03: - orig_size already introduced in 01 > - fix hbitmap_next_dirty_area to not return value less than > offset on unaligned requests > > Vladimir Sementsov-Ogievskiy (8): > dirty-bitmap: improve bdrv_dirty_bitmap_next_zero > tests: add tests for hbitmap_next_zero with specified end parameter > dirty-bitmap: add bdrv_dirty_bitmap_next_dirty_area > tests: add tests for hbitmap_next_dirty_area > block/mirror: fix and improve do_sync_target_write > Revert "block/dirty-bitmap: Add bdrv_dirty_iter_next_area" > Revert "test-hbitmap: Add non-advancing iter_next tests" > Revert "hbitmap: Add @advance param to hbitmap_iter_next()" > > include/block/dirty-bitmap.h | 7 +- > include/qemu/hbitmap.h | 31 ++++-- > block/backup.c | 5 +- > block/dirty-bitmap.c | 68 ++------------ > block/mirror.c | 17 ++-- > nbd/server.c | 2 +- > tests/test-hbitmap.c | 177 +++++++++++++++++++++++++++++------ > util/hbitmap.c | 76 ++++++++++++--- > 8 files changed, 262 insertions(+), 121 deletions(-) >
-- Best regards, Vladimir