On 1/9/20 12:21 PM, Peter Krempa wrote:
Posted as RFC because qemu probably doesn't reopen backing images
for
bitmap operations resulting in:
$ virsh checkpoint-delete vm --checkpointname a
error: Failed to delete checkpoint a
error: internal error: unable to execute QEMU command 'transaction': Bitmap
'a' is readonly and cannot be modified
Unfortunately this can't be done manually because 'blockdev-reopen' is
still experimental.
In the meantime, with existing qemu, can we still at least teach libvirt
to delete its metadata, and ignore unknown bitmaps leftover in qcow2
images that we were unable to delete because of the qemu limitation on
read-only backing files? Yes, your qcow2 files will get bloated with
dead bitmaps, but that's not going to interfere with guest operations or
with future backups that use the bitmaps still tracked by libvirt. And
it matches the failure scenario where an attempt at an incremental
backup fails due to qemu crashing: the active bitmap is corrupt, so all
older bitmaps are no longer usable, and your only recourse is to resort
to full backup instead of incremental backup; but full backup is still
worthwhile, and ignoring the now-useless bitmaps from the earlier backup
points doesn't interfere with that.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization:
qemu.org |
libvirt.org