[libvirt] [RFC PATCH 01/16] qemu: checkpoint: Store whether deleted checkpoint is current in a variable

Peter Krempa pkrempa at redhat.com
Thu Jan 9 18:21:07 UTC 2020


Avoid two computations by using a boolean.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/qemu/qemu_checkpoint.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/qemu/qemu_checkpoint.c b/src/qemu/qemu_checkpoint.c
index 2fa5c1ae00..d13d4c2a37 100644
--- a/src/qemu/qemu_checkpoint.c
+++ b/src/qemu/qemu_checkpoint.c
@@ -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);
-- 
2.24.1




More information about the libvir-list mailing list