[libvirt] [PATCH 07/25] qemu: blockjob: Add string convertors for blockjob type and state enums

Peter Krempa pkrempa at redhat.com
Fri Jul 12 16:05:48 UTC 2019


Later on we'll format these values into the status XML so the from/to
string functions will come handy. The implementation also notes that
these will be used in the status XML to avoid somebody changing the
values.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/qemu/qemu_blockjob.c | 9 +++++++++
 src/qemu/qemu_blockjob.h | 4 ++++
 2 files changed, 13 insertions(+)

diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c
index 8cbfc556b3..bba1b9d656 100644
--- a/src/qemu/qemu_blockjob.c
+++ b/src/qemu/qemu_blockjob.c
@@ -43,6 +43,15 @@

 VIR_LOG_INIT("qemu.qemu_blockjob");

+/* Note that qemuBlockjobState and qemuBlockjobType values are formatted into
+ * the status XML */
+VIR_ENUM_IMPL(qemuBlockjobState,
+              QEMU_BLOCKJOB_STATE_LAST,
+              "completed", "failed", "cancelled", "ready", "new", "running");
+
+VIR_ENUM_IMPL(qemuBlockjob,
+              QEMU_BLOCKJOB_TYPE_LAST,
+              "", "pull", "copy", "commit", "active-commit", "");

 static virClassPtr qemuBlockJobDataClass;

diff --git a/src/qemu/qemu_blockjob.h b/src/qemu/qemu_blockjob.h
index b7aaa86f4d..77298a4bea 100644
--- a/src/qemu/qemu_blockjob.h
+++ b/src/qemu/qemu_blockjob.h
@@ -42,6 +42,8 @@ typedef enum {
 } qemuBlockjobState;
 verify((int)QEMU_BLOCKJOB_STATE_NEW == VIR_DOMAIN_BLOCK_JOB_LAST);

+VIR_ENUM_DECL(qemuBlockjobState);
+
 /**
  * This enum has to map all known block job types from enum virDomainBlockJobType
  * to the same values. All internal blockjobs can be mapped after and don't
@@ -60,6 +62,8 @@ typedef enum {
 } qemuBlockJobType;
 verify((int)QEMU_BLOCKJOB_TYPE_INTERNAL == VIR_DOMAIN_BLOCK_JOB_TYPE_LAST);

+VIR_ENUM_DECL(qemuBlockjob);
+
 typedef struct _qemuBlockJobData qemuBlockJobData;
 typedef qemuBlockJobData *qemuBlockJobDataPtr;

-- 
2.21.0




More information about the libvir-list mailing list