From: Peter Krempa <pkrempa@redhat.com> 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> --- src/qemu/qemu_driver.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index b0b5c12d47..7f8958e45b 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -5843,6 +5843,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: @@ -5894,18 +5899,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 && @@ -6045,6 +6044,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); @@ -6068,6 +6069,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, -- 2.54.0