qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-block] [PATCH v2 00/13] Dirty bitmap changes for migration/persist


From: Fam Zheng
Subject: [Qemu-block] [PATCH v2 00/13] Dirty bitmap changes for migration/persistence work
Date: Wed, 20 Jan 2016 14:11:33 +0800

v2: Various changes addressing John's and Vladimir's comments:

    [02/13] typedefs: Add BdrvDirtyBitmap
            Skip HBitmapIter because we'll hide it soon. [John]
            
    [03/13] block: Move block dirty bitmap code to separate files
    [04/13] block: Remove unused typedef of BlockDriverDirtyHandler
    [05/13] block: Hide HBitmap in block dirty bitmap interface
            Add assert in bdrv_dirty_bitmap_truncate(). [John]
            Add John's rev-by.

    [06/13] HBitmap: Introduce "meta" bitmap to track bit changes
            Caller of hbitmap_create_meta() frees it with hbitmap_free_meta().
            [John, Vladimir]

    [07/13] tests: Add test code for meta bitmap
            Add John's rev-by.

    [08/13] block: Support meta dirty bitmap
            Release the meta dirty bitmap in bdrv_release_dirty_bitmap().

    [09/13] block: Add two dirty bitmap getters
    [10/13] block: Assert that bdrv_release_dirty_bitmap succeeded
            Add John's rev-by.

    [11/13] hbitmap: serialization
            Fix comment for hbitmap_serialization_granularity() and
            hbitmap_deserialize_part(). [John]
            Document @finish in hbitmap_deserialize_zeroes more clearly.
            Fixed granularity in hbitmap_serialization_granularity().
            [Vladimir]
            Tweak the assertion in serialization_chunk. [Vladimir]
            cpu_to_leXXs -> leXX_to_cpus in hbitmap_deserialize_part.
            [Vladimir]
            Fix typo in serialization_chunk() comments. [John]

    [12/13] block: BdrvDirtyBitmap serialization interface
    [13/13] tests: Add test code for hbitmap serialization


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 (11):
  backup: Use Bitmap to replace "s->bitmap"
  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

Vladimir Sementsov-Ogievskiy (2):
  hbitmap: serialization
  block: BdrvDirtyBitmap serialization interface

 block.c                      | 339 -----------------------------
 block/Makefile.objs          |   2 +-
 block/backup.c               |  25 ++-
 block/dirty-bitmap.c         | 492 +++++++++++++++++++++++++++++++++++++++++++
 block/mirror.c               |  14 +-
 include/block/block.h        |  40 +---
 include/block/dirty-bitmap.h |  71 +++++++
 include/qemu/hbitmap.h       |  95 +++++++++
 include/qemu/typedefs.h      |   2 +
 tests/test-hbitmap.c         | 255 ++++++++++++++++++++++
 util/hbitmap.c               | 201 ++++++++++++++++--
 11 files changed, 1126 insertions(+), 410 deletions(-)
 create mode 100644 block/dirty-bitmap.c
 create mode 100644 include/block/dirty-bitmap.h

-- 
2.4.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]