[libvirt] [PATCH RFC 15/40] qemu: checkpoint: Fix rollback and access to unlocked 'vm' when deleting checkpoints
Eric Blake
eblake at redhat.com
Fri Oct 18 22:29:49 UTC 2019
On 10/18/19 11:11 AM, Peter Krempa wrote:
> Delete/merge bitmaps when deleting checkpoints using a 'transaction' so
> that we don't have to deal with halfway-failed scenarios and also fix
> access to 'vm' while in the monitor lock.
>
> Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> ---
> src/qemu/qemu_checkpoint.c | 47 +++++++++++++++++++-------------------
> 1 file changed, 24 insertions(+), 23 deletions(-)
>
> - if (qemuMonitorDeleteBitmap(priv->mon, node, disk->bitmap) < 0) {
> - success = false;
> - break;
> - }
> +
> + if (qemuMonitorTransactionBitmapRemove(actions, node, disk->bitmap) < 0)
> + return -1;
Transactional bitmap remove depends on a newer qemu than what the
pre-patch state required; is this properly gated on capabilities so that
you can't get in a scenario where you can create bitmaps but not delete
them?
Otherwise, the conversion makes sense.
--
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