v2: Rebase and address comments from John, Eric and Vladimir: [02/15] block: Include hbitmap.h in block.h Split from the next patch. [Eric]
[04/15] block: Move block dirty bitmap code to separate files Fix long line to keep checkpatch.pl happy. [Vladimir] Fix comment (HBitmapIter -> BdrvDirtyBitmapIter). [Vladimir] [06/15] block: Hide HBitmap in block dirty bitmap interface Add John's rev-by. [09/15] block: Support meta dirty bitmap granularity -> chunk_size [10/15] block: Add two dirty bitmap getters Add "const" qualifier in function parameters. [Vladimir] [11/15] block: Assert that bdrv_release_dirty_bitmap succeeded Rebase and reword commit message. [12/15] hbitmap: serialization Fix typos and add comment. [John] [13/15] block: BdrvDirtyBitmap serialization interface Add John's rev-by. [14/15] tests: Add test code for hbitmap serialization Add John's ack-by. Two major features are added to block dirty bitmap (and underlying HBitmap) in this series: meta bitmap and serialization, together with all other supportive patches. Both operations are common in dirty bitmap migration and persistence: they need to find whether and which part of the dirty bitmap in question has changed with meta dirty bitmap, and they need to write it to the target with serialization. Fam Zheng (13): backup: Use Bitmap to replace "s->bitmap" block: Include hbitmap.h in block.h typedefs: Add BdrvDirtyBitmap block: Move block dirty bitmap code to separate files block: Remove unused typedef of BlockDriverDirtyHandler block: Hide HBitmap in block dirty bitmap interface HBitmap: Introduce "meta" bitmap to track bit changes tests: Add test code for meta bitmap block: Support meta dirty bitmap block: Add two dirty bitmap getters block: Assert that bdrv_release_dirty_bitmap succeeded tests: Add test code for hbitmap serialization block: More operations for meta dirty bitmap Vladimir Sementsov-Ogievskiy (2): hbitmap: serialization block: BdrvDirtyBitmap serialization interface block.c | 360 ----------------------------- block/Makefile.objs | 2 +- block/backup.c | 25 +- block/dirty-bitmap.c | 534 +++++++++++++++++++++++++++++++++++++++++++ block/mirror.c | 14 +- include/block/block.h | 40 +--- include/block/dirty-bitmap.h | 76 ++++++ include/qemu/hbitmap.h | 96 ++++++++ include/qemu/typedefs.h | 2 + tests/test-hbitmap.c | 255 +++++++++++++++++++++ util/hbitmap.c | 203 ++++++++++++++-- 11 files changed, 1176 insertions(+), 431 deletions(-) create mode 100644 block/dirty-bitmap.c create mode 100644 include/block/dirty-bitmap.h -- 2.4.3