On Fri, Oct 18, 2019 at 05:29:49PM -0500, Eric Blake wrote:
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.
The whole if (!metadata_only) block looks like a separate function and it has some variables declared in unecessarily big scopes. But the change itself looks good. Reviewed-by: Ján Tomko <jtomko@xxxxxxxxxx>
Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- 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?
As of this series, yes :) qemuCheckpointCreateXML requires QEMU_CAPS_INCREMENTAL_BACKUP which is not set even after this series. Jano
Otherwise, the conversion makes sense. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list
Attachment:
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list