The following changes since commit 257bf4f160c50ca8c4ebd603f519f5c786013fb7:
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2026-09-10 11:08:04 +0100) are available in the Git repository at: https://gitlab.com/dlunev/qemu.git tags/pull-parallels-2026-09-11 for you to fetch changes up to 94336eedb1c98792d595f729c7a284e9e91e6158: tests: Add parallels format support to image-fleecing (2026-09-11 00:54:38 +0200) ---------------------------------------------------------------- parallels patches - harden the Format Extension parser against a crafted image - add persistent dirty bitmap support: store, remove and report them - let image extensions be updated in read-write mode - make qemu-img check report the damage it is meant to report instead of dying on it - drop the unused clusters at the end of the image - cover the new behaviour in the parallels iotests, and run more of the generic ones on parallels Signed-off-by: Denis V. Lunev <[email protected]> CC: Stefan Hajnoczi <[email protected]> CC: Vladimir Sementsov-Ogievskiy <[email protected]> ---------------------------------------------------------------- Alexander Ivanov (4): parallels: Set s->used_bmap to NULL in parallels_free_used_bitmap() parallels: Make mark_used() a global function parallels: Create used bitmap even if checks needed tests: Turned on 256, 299, 304 and block-status-cache for parallels format Denis V. Lunev (25): parallels: fix out-of-bounds read in format extension parsing parallels: validate dirty bitmap granularity parallels: bound the bitmap L1 table against the bitmap size parallels: reject a Format Extension outside the image file parallels: allocate the Format Extension cluster gracefully parallels: fix GSList leak on the format extension success path iotests: cover the Parallels format extension parser parallels: split inactivation out and add the activation counterpart iotests: cover inactivating a read-only node parallels: Limit search in parallels_mark_used to the last marked cluster parallels: Move host clusters allocation to a separate function parallels: do not let the check die on what it is meant to report parallels: Drop unused clusters at the end of the image parallels: Remove unnecessary data_end field parallels: Add dirty bitmaps saving parallels: Let image extensions work in RW mode parallels: Handle L1 entries equal to one iotests: cover the Format Extension against the leak check iotests: run the persistent dirty bitmap test on parallels parallels: reject a bitmap L1 entry outside the data area parallels: do not trust the bitmaps of an image which was not closed parallels: implement removing a stored dirty bitmap iotests: rename parallels-read-bitmap to parallels-bitmap iotests: cover a broken Format Extension and a combined repair tests: Add parallels format support to image-fleecing block/parallels-ext.c | 457 ++++++++++++++++++++- block/parallels.c | 432 ++++++++++++------- block/parallels.h | 20 +- tests/qemu-iotests/165 | 18 +- tests/qemu-iotests/256 | 2 +- tests/qemu-iotests/299 | 2 +- tests/qemu-iotests/304 | 2 +- tests/qemu-iotests/tests/block-status-cache | 2 +- tests/qemu-iotests/tests/image-fleecing | 14 +- tests/qemu-iotests/tests/inactive-node-nbd | 14 + tests/qemu-iotests/tests/inactive-node-nbd.out | 8 + tests/qemu-iotests/tests/parallels-bitmap | 260 ++++++++++++ tests/qemu-iotests/tests/parallels-bitmap.out | 49 +++ tests/qemu-iotests/tests/parallels-checks | 229 +++++++++++ tests/qemu-iotests/tests/parallels-checks.out | 174 ++++++++ tests/qemu-iotests/tests/parallels-read-bitmap | 53 --- tests/qemu-iotests/tests/parallels-read-bitmap.out | 6 - 17 files changed, 1498 insertions(+), 244 deletions(-) create mode 100755 tests/qemu-iotests/tests/parallels-bitmap create mode 100644 tests/qemu-iotests/tests/parallels-bitmap.out delete mode 100755 tests/qemu-iotests/tests/parallels-read-bitmap delete mode 100644 tests/qemu-iotests/tests/parallels-read-bitmap.out -- 2.53.0
