[RFC PATCH 00/16] qemu: checkpoint: Add support for deleting checkpoints accross snapshots

Eric Blake eblake at redhat.com
Fri Jan 24 16:49:43 UTC 2020

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

More information about the libvir-list mailing list