qemu/tests
Eric Blake 955171e441 qemu-img: Add --skip-broken-bitmaps for 'convert --bitmaps'
The point of 'qemu-img convert --bitmaps' is to be a convenience for
actions that are already possible through a string of smaller
'qemu-img bitmap' sub-commands.  One situation not accounted for
already is that if a source image contains an inconsistent bitmap (for
example, because a qemu process died abruptly before flushing bitmap
state), the user MUST delete those inconsistent bitmaps before
anything else useful can be done with the image.

We don't want to delete inconsistent bitmaps by default: although a
corrupt bitmap is only a loss of optimization rather than a corruption
of user-visible data, it is still nice to require the user to opt in
to the fact that they are aware of the loss of the bitmap.  Still,
requiring the user to check 'qemu-img info' to see whether bitmaps are
consistent, then use 'qemu-img bitmap --remove' to remove offenders,
all before using 'qemu-img convert', is a lot more work than just
adding a knob 'qemu-img convert --bitmaps --skip-broken-bitmaps' which
opts in to skipping the broken bitmaps.

After testing the new option, also demonstrate the way to manually fix
things (either deleting bad bitmaps, or re-creating them as empty) so
that it is possible to convert without the option.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1946084
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20210709153951.2801666-4-eblake@redhat.com>
[eblake: warning message tweak, test enhancements]
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
2021-07-21 14:14:41 -05:00
..
acceptance tests/acceptance/virtio-gpu.py: provide kernel and initrd hashes 2021-07-20 15:34:20 -04:00
bench tests: Move benchmarks into a separate folder 2021-03-12 15:46:30 +01:00
data bios-tables-test: Update golden binaries 2021-07-16 04:34:23 -04:00
decode decodetree: Extend argument set syntax to allow types 2021-05-01 11:45:35 -07:00
docker ci: build & store windows installer 2021-07-19 09:33:39 +02:00
fp tests/fp: Enable more tests 2021-06-03 14:09:03 -07:00
guest-debug chardev: do not use short form boolean options in non-QemuOpts character device descriptions 2021-02-25 15:41:53 +01:00
image-fuzzer
include tests: add missing generated sources to testqapi 2020-10-17 10:45:50 -04:00
keys tests/vm: Add Haiku test based on their vagrant images 2020-11-17 09:45:24 +01:00
migration tests/migration: fix unix socket migration 2021-07-14 14:15:52 +01:00
multiboot Remove superfluous .gitignore files 2020-10-13 12:48:17 +02:00
perf/block/qcow2
plugin plugins/syscall: Added a table-like summary output 2021-05-25 16:52:50 +01:00
qapi-schema qapi: Fix crash on missing enum member name 2021-07-15 12:56:41 +02:00
qemu-iotests qemu-img: Add --skip-broken-bitmaps for 'convert --bitmaps' 2021-07-21 14:14:41 -05:00
qtest bios-tables-test: Update golden binaries 2021-07-16 04:34:23 -04:00
rocker
tcg tests/tcg: make test-mmap a little less aggressive 2021-07-14 14:33:53 +01:00
tsan
uefi-test-tools Remove superfluous .gitignore files 2020-10-13 12:48:17 +02:00
unit crypto: replace 'des-rfb' cipher with 'des' 2021-07-14 14:15:52 +01:00
vm tests/vm: update openbsd to release 6.9 2021-07-14 14:33:53 +01:00
vmstate-static-checker-data hw: Replace anti-social QOM type names 2021-03-19 15:18:43 +01:00
check-block.sh iotests: rewrite check into python 2021-01-27 20:53:14 +01:00
dbus-vmstate-daemon.sh
Makefile.include Acceptance tests: do not try to reuse packages from the system 2021-07-13 16:19:41 -04:00
meson.build tests: Move benchmarks into a separate folder 2021-03-12 15:46:30 +01:00
requirements.txt acceptance tests: bump Avocado version to 88.1 2021-06-01 16:21:21 -04:00
test-qht-par.c
vhost-user-bridge.c libvhost-user: make it a meson subproject 2020-12-08 13:48:58 -05:00