Hi all! We need to load bitmaps from parallels image in our product. So here is a feature.
v2: 01: tweak commit message, add r-bs by Eric and Denis 02: tweak wording by Denis's suggestions 03: new, suggested by Denis 04: rebase on 03, add several error checking, convert l1 table to cpu from small-endian, allow loading several bitmaps 06: add copyright, drop "/work/mega" Vladimir Sementsov-Ogievskiy (6): qcow2-bitmap: make bytes_covered_by_bitmap_cluster() public parallels.txt: fix bitmap L1 table description block/parallels: BDRVParallelsState: add cluster_size field parallels: support bitmap extension for read-only mode iotests.py: add unarchive_sample_image() helper iotests: add parallels-read-bitmap test docs/interop/parallels.txt | 27 +- block/parallels.h | 7 +- include/block/dirty-bitmap.h | 2 + block/dirty-bitmap.c | 13 + block/parallels-ext.c | 300 ++++++++++++++++++ block/parallels.c | 26 +- block/qcow2-bitmap.c | 16 +- block/meson.build | 3 +- tests/qemu-iotests/iotests.py | 10 + .../sample_images/parallels-with-bitmap.bz2 | Bin 0 -> 203 bytes .../sample_images/parallels-with-bitmap.sh | 51 +++ .../qemu-iotests/tests/parallels-read-bitmap | 55 ++++ .../tests/parallels-read-bitmap.out | 6 + 13 files changed, 484 insertions(+), 32 deletions(-) create mode 100644 block/parallels-ext.c create mode 100644 tests/qemu-iotests/sample_images/parallels-with-bitmap.bz2 create mode 100755 tests/qemu-iotests/sample_images/parallels-with-bitmap.sh create mode 100755 tests/qemu-iotests/tests/parallels-read-bitmap create mode 100644 tests/qemu-iotests/tests/parallels-read-bitmap.out -- 2.29.2