]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: improve compile-time check of qemuBlockjobState mapping
authorEric Blake <eblake@redhat.com>
Wed, 23 Jan 2019 19:38:41 +0000 (13:38 -0600)
committerEric Blake <eblake@redhat.com>
Wed, 23 Jan 2019 22:20:25 +0000 (16:20 -0600)
Asserting the value we set four lines earlier in qemuBlockjobState
doesn't buy us any safety (if the public header adds a value, we end
up skipping that value without the compiler warning us of our gap);
what we really want is to assert that the value auto-assigned by the
compiler matches the actual last value in the public headers (as was
done below for qemuBlockJobType).  Add useful comments while at it.

Signed-off-by: Eric Blake <eblake@redhat.com>
ACKed-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_blockjob.h

index ed63f2c709661fde395fd98fac5d0abc259e9799..c7325c6daf5e77e2bd7ccb73c9798bbb3e295494 100644 (file)
  * need to have stable values.
  */
 typedef enum {
+    /* Mapped to public enum */
     QEMU_BLOCKJOB_STATE_COMPLETED = VIR_DOMAIN_BLOCK_JOB_COMPLETED,
     QEMU_BLOCKJOB_STATE_FAILED = VIR_DOMAIN_BLOCK_JOB_FAILED,
     QEMU_BLOCKJOB_STATE_CANCELLED = VIR_DOMAIN_BLOCK_JOB_CANCELED,
     QEMU_BLOCKJOB_STATE_READY = VIR_DOMAIN_BLOCK_JOB_READY,
-    QEMU_BLOCKJOB_STATE_NEW = VIR_DOMAIN_BLOCK_JOB_LAST,
+    /* Additional enum values local to qemu */
+    QEMU_BLOCKJOB_STATE_NEW,
     QEMU_BLOCKJOB_STATE_RUNNING,
     QEMU_BLOCKJOB_STATE_LAST
 } qemuBlockjobState;
@@ -47,11 +49,13 @@ verify((int)QEMU_BLOCKJOB_STATE_NEW == VIR_DOMAIN_BLOCK_JOB_LAST);
  * need to have stable values.
  */
 typedef enum {
+    /* Mapped to public enum */
     QEMU_BLOCKJOB_TYPE_NONE = VIR_DOMAIN_BLOCK_JOB_TYPE_UNKNOWN,
     QEMU_BLOCKJOB_TYPE_PULL = VIR_DOMAIN_BLOCK_JOB_TYPE_PULL,
     QEMU_BLOCKJOB_TYPE_COPY = VIR_DOMAIN_BLOCK_JOB_TYPE_COPY,
     QEMU_BLOCKJOB_TYPE_COMMIT = VIR_DOMAIN_BLOCK_JOB_TYPE_COMMIT,
     QEMU_BLOCKJOB_TYPE_ACTIVE_COMMIT = VIR_DOMAIN_BLOCK_JOB_TYPE_ACTIVE_COMMIT,
+    /* Additional enum values local to qemu */
     QEMU_BLOCKJOB_TYPE_INTERNAL,
     QEMU_BLOCKJOB_TYPE_LAST
 } qemuBlockJobType;