]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: checkpoint: Store whether deleted checkpoint is current in a variable
authorPeter Krempa <pkrempa@redhat.com>
Tue, 7 Jan 2020 14:01:41 +0000 (15:01 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 27 Jan 2020 14:28:49 +0000 (15:28 +0100)
Avoid two computations by using a boolean.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
src/qemu/qemu_checkpoint.c

index 2fa5c1ae00c8b0ad63ea3d81c84d923926dddf27..d13d4c2a37a72850806992a7a5be4fc128f8521d 100644 (file)
@@ -117,6 +117,7 @@ qemuCheckpointDiscard(virQEMUDriverPtr driver,
     size_t i, j;
     g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
     g_autofree char *chkFile = NULL;
+    bool chkcurrent = chk == virDomainCheckpointGetCurrent(vm->checkpoints);
 
     if (!metadata_only && !virDomainObjIsActive(vm)) {
         virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
@@ -172,7 +173,7 @@ qemuCheckpointDiscard(virQEMUDriverPtr driver,
                     if (qemuMonitorTransactionBitmapMergeSourceAddBitmap(arr, node, disk->bitmap) < 0)
                         return -1;
 
-                    if (chk == virDomainCheckpointGetCurrent(vm->checkpoints)) {
+                    if (chkcurrent) {
                         if (qemuMonitorTransactionBitmapEnable(actions, node, disk2->bitmap) < 0)
                             return -1;
                     }
@@ -192,7 +193,7 @@ qemuCheckpointDiscard(virQEMUDriverPtr driver,
             return -1;
     }
 
-    if (chk == virDomainCheckpointGetCurrent(vm->checkpoints)) {
+    if (chkcurrent) {
         virDomainCheckpointSetCurrent(vm->checkpoints, NULL);
         if (update_parent && parent) {
             virDomainCheckpointSetCurrent(vm->checkpoints, parent);