qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH v4 RFC 00/17] qcow2: persistent dirty bitmaps


From: Denis V. Lunev
Subject: Re: [Qemu-block] [PATCH v4 RFC 00/17] qcow2: persistent dirty bitmaps
Date: Thu, 3 Mar 2016 12:10:44 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1

On 02/17/2016 06:28 PM, 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

Guys?



reply via email to

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