if (virConfGetValueString(conf, "save_image_format", &savestr) < 0)
return -1;
- if (savestr && (cfg->saveImageFormat = qemuSaveFormatTypeFromString(savestr)) < 0) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("Invalid save_image_format '%1$s'"),
- savestr);
- return -1;
+ if (savestr) {
+ int formatVal;
+
+ if ((formatVal = qemuSaveFormatTypeFromString(savestr)) < 0) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Invalid save_image_format '%1$s'"),
+ savestr);
+ return -1;
+ }
+
+ cfg->saveImageFormat = formatVal;
}
if (virConfGetValueString(conf, "dump_image_format", &dumpstr) < 0)
return -1;
- if (dumpstr && (cfg->dumpImageFormat = qemuSaveFormatTypeFromString(dumpstr)) < 0) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("Invalid dump_image_format '%1$s'"),
- dumpstr);
- return -1;
+ if (dumpstr) {
+ int formatVal;
+
+ if ((formatVal = qemuSaveFormatTypeFromString(dumpstr)) < 0) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Invalid dump_image_format '%1$s'"),
+ dumpstr);
+ return -1;
+ }
+
+ cfg->dumpImageFormat = formatVal;
}
if (virConfGetValueString(conf, "snapshot_image_format", &snapstr) < 0)
return -1;
- if (snapstr && (cfg->snapshotImageFormat = qemuSaveFormatTypeFromString(snapstr)) < 0) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("Invalid snapshot_image_format '%1$s'"),
- snapstr);
- return -1;
+ if (snapstr) {
+ int formatVal;
+
+ if ((formatVal = qemuSaveFormatTypeFromString(snapstr)) < 0) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Invalid snapshot_image_format '%1$s'"),
+ snapstr);
+ return -1;
+ }
+
+ cfg->snapshotImageFormat = formatVal;
}
if (virConfGetValueString(conf, "auto_dump_path", &cfg->autoDumpPath) < 0)
#include "locking/lock_manager.h"
#include "qemu_capabilities.h"
#include "qemu_nbdkit.h"
+#include "qemu_saveimage_format.h"
#include "virclosecallbacks.h"
#include "virhostdev.h"
#include "virfile.h"
bool securityDefaultConfined;
bool securityRequireConfined;
- int saveImageFormat;
- int dumpImageFormat;
- int snapshotImageFormat;
+ virQEMUSaveFormat saveImageFormat;
+ virQEMUSaveFormat dumpImageFormat;
+ virQEMUSaveFormat snapshotImageFormat;
char *autoDumpPath;
bool autoDumpBypassCache;
#include "virconftypes.h"
#include "qemu_domain.h"
+#include "qemu_saveimage_format.h"
/* It would be nice to replace 'Qemud' with 'Qemu' but
* this magic string is ABI, so it can't be changed
G_STATIC_ASSERT(sizeof(QEMU_SAVE_MAGIC) == sizeof(QEMU_SAVE_PARTIAL));
-typedef enum {
- QEMU_SAVE_FORMAT_RAW = 0,
- QEMU_SAVE_FORMAT_GZIP = 1,
- QEMU_SAVE_FORMAT_BZIP2 = 2,
- /*
- * Deprecated by xz and never used as part of a release
- * QEMU_SAVE_FORMAT_LZMA
- */
- QEMU_SAVE_FORMAT_XZ = 3,
- QEMU_SAVE_FORMAT_LZOP = 4,
- QEMU_SAVE_FORMAT_ZSTD = 5,
- QEMU_SAVE_FORMAT_SPARSE = 6,
- /* Note: add new members only at the end.
- These values are used in the on-disk format.
- Do not change or re-use numbers. */
-
- QEMU_SAVE_FORMAT_LAST
-} virQEMUSaveFormat;
+/* enum virQEMUSaveFormat is declared in qemu_saveimage_format.h */
VIR_ENUM_DECL(qemuSaveFormat);
typedef struct _virQEMUSaveHeader virQEMUSaveHeader;
--- /dev/null
+/*
+ * SPDX-License-Identifier: LGPL-2.1-or-later
+ */
+
+#pragma once
+
+/* This enum resides in a separate file to allow inclusion into qemu_conf.h */
+typedef enum {
+ QEMU_SAVE_FORMAT_RAW = 0,
+ QEMU_SAVE_FORMAT_GZIP = 1,
+ QEMU_SAVE_FORMAT_BZIP2 = 2,
+ /*
+ * Deprecated by xz and never used as part of a release
+ * QEMU_SAVE_FORMAT_LZMA
+ */
+ QEMU_SAVE_FORMAT_XZ = 3,
+ QEMU_SAVE_FORMAT_LZOP = 4,
+ QEMU_SAVE_FORMAT_ZSTD = 5,
+ QEMU_SAVE_FORMAT_SPARSE = 6,
+ /* Note: add new members only at the end.
+ These values are used in the on-disk format.
+ Do not change or re-use numbers. */
+
+ QEMU_SAVE_FORMAT_LAST
+} virQEMUSaveFormat;