]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuDomainRestore(Flags|Params): Refactor flag checking
authorPeter Krempa <pkrempa@redhat.com>
Thu, 2 Apr 2026 14:19:21 +0000 (16:19 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 14 May 2026 10:13:10 +0000 (12:13 +0200)
Create QEMU_DOMAIN_RESTORE_FLAGS define which collects all the flags
used by either of the implementations of the 'Restore' API and move the
flag checking into the implementation function so that it's available
later for introspection.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_driver.c

index eec63ca58d0401cec3d999f11f81bf249ab7743c..5ae2be7805697ed3ccf37c9efcee7b1ac22c0483 100644 (file)
@@ -5849,6 +5849,11 @@ qemuNodeGetSecurityModel(virConnectPtr conn,
     return 0;
 }
 
+#define QEMU_DOMAIN_RESTORE_FLAGS \
+    VIR_DOMAIN_SAVE_BYPASS_CACHE | \
+    VIR_DOMAIN_SAVE_RUNNING | \
+    VIR_DOMAIN_SAVE_PAUSED | \
+    VIR_DOMAIN_SAVE_RESET_NVRAM
 
 /**
  * qemuDomainRestoreInternal:
@@ -5900,18 +5905,12 @@ qemuDomainRestoreInternal(virConnectPtr conn,
     virQEMUSaveData *data = NULL;
     virFileWrapperFd *wrapperFd = NULL;
     bool hook_taint = false;
-    bool reset_nvram = false;
+    bool reset_nvram = (flags & VIR_DOMAIN_SAVE_RESET_NVRAM) != 0;
     bool sparse = false;
     bool bypass_cache = (flags & VIR_DOMAIN_SAVE_BYPASS_CACHE) != 0;
     g_autoptr(qemuMigrationParams) restoreParams = NULL;
 
-    virCheckFlags(VIR_DOMAIN_SAVE_BYPASS_CACHE |
-                  VIR_DOMAIN_SAVE_RUNNING |
-                  VIR_DOMAIN_SAVE_PAUSED |
-                  VIR_DOMAIN_SAVE_RESET_NVRAM, -1);
-
-    if (flags & VIR_DOMAIN_SAVE_RESET_NVRAM)
-        reset_nvram = true;
+    virCheckFlags(QEMU_DOMAIN_RESTORE_FLAGS, -1);
 
     if (qemuSaveImageGetMetadata(driver, NULL, path, ensureACL, conn, &def, &data) < 0) {
         if (unlink_corrupt &&
@@ -6051,6 +6050,8 @@ qemuDomainRestoreFlags(virConnectPtr conn,
                        const char *dxml,
                        unsigned int flags)
 {
+    virCheckFlags(QEMU_DOMAIN_RESTORE_FLAGS, -1);
+
     return qemuDomainRestoreInternal(conn, NULL, path, false, dxml, NULL, 0,
                                      flags, virDomainRestoreFlagsEnsureACL,
                                      VIR_ASYNC_JOB_START);
@@ -6074,6 +6075,8 @@ qemuDomainRestoreParams(virConnectPtr conn,
     const char *dxml = NULL;
     int ret = -1;
 
+    virCheckFlags(QEMU_DOMAIN_RESTORE_FLAGS, -1);
+
     if (virTypedParamsValidate(params, nparams,
                                VIR_DOMAIN_SAVE_PARAM_FILE, VIR_TYPED_PARAM_STRING,
                                VIR_DOMAIN_SAVE_PARAM_DXML, VIR_TYPED_PARAM_STRING,