[PATCH] conf: Assert virDomainChrDeviceState and virConnectDomainEventAgentLifecycleState enums are in sync

Michal Privoznik via Devel posted 1 patch 1 week, 3 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/e9ef0bd5ff655d71f21a2d2c5bc8618f83f50f39.1779274107.git.mprivozn@redhat.com
src/conf/domain_conf.h | 5 +++++
1 file changed, 5 insertions(+)
[PATCH] conf: Assert virDomainChrDeviceState and virConnectDomainEventAgentLifecycleState enums are in sync
Posted by Michal Privoznik via Devel 1 week, 3 days ago
From: Michal Privoznik <mprivozn@redhat.com>

When QEMU driver emits agent connected/disconnected events (inside of
processSerialChangedEvent()) it declares a variable of
virDomainChrDeviceState enum, and then passes this variable to
virDomainEventAgentLifecycleNewFromObj(). But we document the agent
lifecycle state to be of virConnectDomainEventAgentLifecycleState enum.

Therefore, make sure values from
virConnectDomainEventAgentLifecycleState enum are of the same value as
those invirDomainChrDeviceState enum.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
 src/conf/domain_conf.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index bdfb99ed1d..d17f6352bd 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1243,6 +1243,11 @@ typedef enum {
     VIR_DOMAIN_CHR_DEVICE_STATE_LAST
 } virDomainChrDeviceState;
 
+G_STATIC_ASSERT((int)VIR_DOMAIN_CHR_DEVICE_STATE_CONNECTED ==
+                (int)VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_STATE_CONNECTED);
+G_STATIC_ASSERT((int)VIR_DOMAIN_CHR_DEVICE_STATE_DISCONNECTED ==
+                (int)VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_STATE_DISCONNECTED);
+
 VIR_ENUM_DECL(virDomainChrDeviceState);
 
 typedef enum {
-- 
2.53.0
Re: [PATCH] conf: Assert virDomainChrDeviceState and virConnectDomainEventAgentLifecycleState enums are in sync
Posted by Ján Tomko via Devel 1 week, 3 days ago
On a Wednesday in 2026, Michal Privoznik via Devel wrote:
>From: Michal Privoznik <mprivozn@redhat.com>
>
>When QEMU driver emits agent connected/disconnected events (inside of
>processSerialChangedEvent()) it declares a variable of
>virDomainChrDeviceState enum, and then passes this variable to
>virDomainEventAgentLifecycleNewFromObj(). But we document the agent
>lifecycle state to be of virConnectDomainEventAgentLifecycleState enum.
>
>Therefore, make sure values from
>virConnectDomainEventAgentLifecycleState enum are of the same value as
>those invirDomainChrDeviceState enum.

missing space after 'in'

>
>Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
>---
> src/conf/domain_conf.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
>diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
>index bdfb99ed1d..d17f6352bd 100644
>--- a/src/conf/domain_conf.h
>+++ b/src/conf/domain_conf.h
>@@ -1243,6 +1243,11 @@ typedef enum {
>     VIR_DOMAIN_CHR_DEVICE_STATE_LAST
> } virDomainChrDeviceState;
>
>+G_STATIC_ASSERT((int)VIR_DOMAIN_CHR_DEVICE_STATE_CONNECTED ==
>+                (int)VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_STATE_CONNECTED);
>+G_STATIC_ASSERT((int)VIR_DOMAIN_CHR_DEVICE_STATE_DISCONNECTED ==
>+                (int)VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_STATE_DISCONNECTED);


Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano