v6: https://src.openvz.org/users/vsementsov/repos/qemu/browse?at=refs%2Ftags%2Fqcow2-bitmap-v6 based on block-next (https://github.com/XanClic/qemu/commits/block-next)
There are a lot of changes, reorderings and additions in comparement with v5. One principal thing: now bitmaps are removed from image after loading instead of marking them in_use. It is simpler and we do not need to store superfluous data. Also, we are no more interested in command line interface to dirty bitmaps. So it is dropped. If someone needs it I can add it later. Vladimir Sementsov-Ogievskiy (29): hbitmap: fix dirty iter tests: add hbitmap iter test block: fix bdrv_dirty_bitmap_granularity signature block/dirty-bitmap: add deserialize_ones func qcow2-bitmap: structs and consts qcow2-bitmap: add qcow2_read_bitmaps() qcow2-bitmap: add qcow2_bitmap_load() qcow2-bitmap: delete bitmap from qcow2 after load qcow2-bitmap: add qcow2_bitmap_store() qcow2-bitmap: add IN_USE flag qcow2-bitmap: check constraints qcow2: add qcow2_delete_bitmaps qcow2: add dirty bitmaps extension qcow2-bitmap: add qcow2_bitmap_load_check() block/dirty-bitmap: introduce persistent bitmaps block: add bdrv_load_dirty_bitmap() qcow2-bitmap: add autoclear bit qcow2-bitmap: disallow storing bitmap to other bs block/dirty-bitmap: add autoload field to BdrvDirtyBitmap qcow2-bitmap: add AUTO flag qcow2-bitmap: add EXTRA_DATA_COMPATIBLE flag qmp: add persistent flag to block-dirty-bitmap-add qmp: add autoload parameter to block-dirty-bitmap-add qcow2-bitmap: maintian BlockDirtyBitmap.autoload qapi: add md5 checksum of last dirty bitmap level to query-block iotests: test qcow2 persistent dirty bitmap qcow2-bitmap: delete in_use bitmaps on image load qcow2-bitmap: do not try reloading bitmaps qcow2-dirty-bitmap: refcounts block.c | 2 + block/Makefile.objs | 2 +- block/dirty-bitmap.c | 109 +++- block/qcow2-bitmap.c | 1148 +++++++++++++++++++++++++++++++++++++++++ block/qcow2-refcount.c | 14 +- block/qcow2.c | 109 +++- block/qcow2.h | 59 +++ blockdev.c | 30 +- include/block/block_int.h | 9 + include/block/dirty-bitmap.h | 18 +- include/qemu/hbitmap.h | 23 + qapi/block-core.json | 8 +- qmp-commands.hx | 7 +- tests/qemu-iotests/160 | 87 ++++ tests/qemu-iotests/160.out | 5 + tests/qemu-iotests/group | 1 + tests/qemu-iotests/iotests.py | 6 + tests/test-hbitmap.c | 19 + util/hbitmap.c | 28 +- 19 files changed, 1669 insertions(+), 15 deletions(-) create mode 100644 block/qcow2-bitmap.c create mode 100755 tests/qemu-iotests/160 create mode 100644 tests/qemu-iotests/160.out -- 1.8.3.1