On 02/17/2016 10:28 AM, Vladimir Sementsov-Ogievskiy wrote:
> This series add persistent dirty bitmaps feature to qcow2.
> Specification is in docs/spec/qcow2.txt (not merged yet, see
> [PATCH v10] spec: add qcow2 bitmaps extension specification)
> 
> This series are based on Fam's
> [PATCH v2 00/13] Dirty bitmap changes for migration/persistence work
> (meta bitmaps not used, and only hbitmap_deserialize_finish from
> serialization)
> 
> This also needs some preparation patches, most of them are in my
> bitmap-migration series. I've not listed them here to keep things
> simpler, this is RFC any way.
> 
> v4:
> 
> Previous version was posted more than five months ago, so I will not
> carefully list all changes.
> 
> What should be noted:
>  - some changes are made to sutisfy last version of specification
>    - removed staff, related to possibility of saving bitmaps for one
>      disk in the other qcow2.
>  - to make bitmap store/load zero-copy, I've moved load/store code to
>    HBitmap - this is new patch 01.
>    so, bdrv_dirty_bitmap_serialize_part and friends are not needed,
>    only hbitmap_deserialize_finish, to repair bitmap consistency after
>    loading its last level.
>  - two patches added about AUTO and EXTRA_DATA_COMPATIBLE flags
>  - some fixes made after John's comments on v3
> 
> Vladimir Sementsov-Ogievskiy (17):
>   hbitmap: load/store
>   qcow2: Bitmaps extension: structs and consts
>   qcow2-dirty-bitmap: read dirty bitmap directory
>   qcow2-dirty-bitmap: add qcow2_bitmap_load()
>   qcow2-dirty-bitmap: add qcow2_bitmap_store()
>   qcow2: add dirty bitmaps extension
>   qcow2-dirty-bitmap: add qcow2_bitmap_load_check()
>   block: store persistent dirty bitmaps
>   block: add bdrv_load_dirty_bitmap()
>   qcow2-dirty-bitmap: add autoclear bit
>   qemu: command line option for dirty bitmaps
>   qcow2-dirty-bitmap: add IN_USE flag
>   qcow2-dirty-bitmaps: disallow stroing bitmap to other bs
>   iotests: add VM.test_launcn()
>   iotests: test internal persistent dirty bitmap
>   qcow2-dirty-bitmap: add AUTO flag
>   qcow2-dirty-bitmap: add EXTRA_DATA_COMPATIBLE flag
> 
>  block.c                       |   3 +
>  block/Makefile.objs           |   2 +-
>  block/dirty-bitmap.c          | 101 +++++
>  block/qcow2-dirty-bitmap.c    | 839 
> ++++++++++++++++++++++++++++++++++++++++++
>  block/qcow2.c                 | 105 +++++-
>  block/qcow2.h                 |  59 +++
>  blockdev.c                    |  36 ++
>  include/block/block_int.h     |   9 +
>  include/block/dirty-bitmap.h  |  21 ++
>  include/qemu/hbitmap.h        |  12 +
>  include/sysemu/blockdev.h     |   1 +
>  include/sysemu/sysemu.h       |   1 +
>  qemu-options.hx               |  35 ++
>  tests/qemu-iotests/160        | 112 ++++++
>  tests/qemu-iotests/160.out    |  21 ++
>  tests/qemu-iotests/group      |   1 +
>  tests/qemu-iotests/iotests.py |  25 ++
>  util/hbitmap.c                | 182 +++++++++
>  vl.c                          |  78 ++++
>  19 files changed, 1640 insertions(+), 3 deletions(-)
>  create mode 100644 block/qcow2-dirty-bitmap.c
>  create mode 100755 tests/qemu-iotests/160
>  create mode 100644 tests/qemu-iotests/160.out
> 

In your prerequisite patches,

"iotests-add-default-node-name" breaks qemu iotests 055 and 118. Didn't
look hard enough to find out why, yet.

Reply via email to