[PATCH 00/33] qemu: monitor: Clean up qemu monitor event callbacks

Peter Krempa (33): qemu: monitor: Remove handlers for the 'POWERDOWN' event qemu: monitor: Remove return value from qemuMonitorEmit* functions qemu: Remove return value from qemuMonitorDomainEventCallback qemu: Remove return value from qemuMonitorDomainShutdownCallback qemu: Remove return value from qemuMonitorDomainResetCallback qemu: Remove return value from qemuMonitorDomainStopCallback qemu: Remove return value from qemuMonitorDomainResumeCallback qemu: Remove return value from qemuMonitorDomainRTCChangeCallback qemu: Remove return value from qemuMonitorDomainWatchdogCallback qemu: Remove return value from qemuMonitorDomainIOErrorCallback qemu: Remove return value from qemuMonitorDomainGraphicsCallback qemu: Remove return value from qemuMonitorDomainBlockJobCallback qemu: Remove return value from qemuMonitorDomainJobStatusChangeCallback qemu: Remove return value from qemuMonitorDomainTrayChangeCallback qemu: Remove return value from qemuMonitorDomainPMWakeupCallback qemu: Remove return value from qemuMonitorDomainPMSuspendCallback qemu: Remove return value from qemuMonitorDomainBalloonChangeCallback qemu: Remove return value from qemuMonitorDomainPMSuspendDiskCallback qemu: Remove return value from qemuMonitorDomainGuestPanicCallback qemu: Remove return value from qemuMonitorDomainDeviceDeletedCallback qemu: Remove return value from qemuMonitorDomainNicRxFilterChangedCallback qemu: Remove return value from qemuMonitorDomainSerialChangeCallback qemu: Remove return value from qemuMonitorDomainSpiceMigratedCallback qemu: Remove return value from qemuMonitorDomainMigrationStatusCallback qemu: Remove return value from qemuMonitorDomainMigrationPassCallback qemu: Remove return value from qemuMonitorDomainAcpiOstInfoCallback qemu: Remove return value from qemuMonitorDomainBlockThresholdCallback qemu: Remove return value from qemuMonitorDomainDumpCompletedCallback qemu: Remove return value from qemuMonitorDomainPRManagerStatusChangedCallback qemu: Remove return value from qemuMonitorDomainRdmaGidStatusChangedCallback qemu: Remove return value from qemuMonitorDomainGuestCrashloadedCallback qemu: Remove return value from qemuMonitorDomainMemoryFailureCallback qemu: process: Extract code for submitting event handling to separate thread src/qemu/qemu_monitor.c | 215 +++++------------ src/qemu/qemu_monitor.h | 443 +++++++++++++++++------------------ src/qemu/qemu_monitor_json.c | 7 - src/qemu/qemu_process.c | 236 ++++++------------- src/qemu/qemu_processpriv.h | 8 +- 5 files changed, 363 insertions(+), 546 deletions(-) -- 2.31.1

The qemu process code doesn't register a callback for it so we don't need to be handling it at all. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 11 ----------- src/qemu/qemu_monitor.h | 5 ----- src/qemu/qemu_monitor_json.c | 7 ------- 3 files changed, 23 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index b06c842a7a..628b3fb71d 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -1195,17 +1195,6 @@ qemuMonitorEmitReset(qemuMonitor *mon) } -int -qemuMonitorEmitPowerdown(qemuMonitor *mon) -{ - int ret = -1; - VIR_DEBUG("mon=%p", mon); - - QEMU_MONITOR_CALLBACK(mon, ret, domainPowerdown, mon->vm); - return ret; -} - - int qemuMonitorEmitStop(qemuMonitor *mon) { diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 6a25def78b..265c25c521 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -169,9 +169,6 @@ typedef int (*qemuMonitorDomainShutdownCallback)(qemuMonitor *mon, typedef int (*qemuMonitorDomainResetCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); -typedef int (*qemuMonitorDomainPowerdownCallback)(qemuMonitor *mon, - virDomainObj *vm, - void *opaque); typedef int (*qemuMonitorDomainStopCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); @@ -372,7 +369,6 @@ struct _qemuMonitorCallbacks { qemuMonitorDomainEventCallback domainEvent; qemuMonitorDomainShutdownCallback domainShutdown; qemuMonitorDomainResetCallback domainReset; - qemuMonitorDomainPowerdownCallback domainPowerdown; qemuMonitorDomainStopCallback domainStop; qemuMonitorDomainResumeCallback domainResume; qemuMonitorDomainRTCChangeCallback domainRTCChange; @@ -447,7 +443,6 @@ int qemuMonitorEmitEvent(qemuMonitor *mon, const char *event, const char *details); int qemuMonitorEmitShutdown(qemuMonitor *mon, virTristateBool guest); int qemuMonitorEmitReset(qemuMonitor *mon); -int qemuMonitorEmitPowerdown(qemuMonitor *mon); int qemuMonitorEmitStop(qemuMonitor *mon); int qemuMonitorEmitResume(qemuMonitor *mon); int qemuMonitorEmitRTCChange(qemuMonitor *mon, long long offset); diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 7e53e0ce84..ca2c3bb6cf 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -78,7 +78,6 @@ VIR_ENUM_IMPL(qemuMonitorJobStatus, static void qemuMonitorJSONHandleShutdown(qemuMonitor *mon, virJSONValue *data); static void qemuMonitorJSONHandleReset(qemuMonitor *mon, virJSONValue *data); -static void qemuMonitorJSONHandlePowerdown(qemuMonitor *mon, virJSONValue *data); static void qemuMonitorJSONHandleStop(qemuMonitor *mon, virJSONValue *data); static void qemuMonitorJSONHandleResume(qemuMonitor *mon, virJSONValue *data); static void qemuMonitorJSONHandleRTCChange(qemuMonitor *mon, virJSONValue *data); @@ -137,7 +136,6 @@ static qemuEventHandler eventHandlers[] = { { "MIGRATION", qemuMonitorJSONHandleMigrationStatus, }, { "MIGRATION_PASS", qemuMonitorJSONHandleMigrationPass, }, { "NIC_RX_FILTER_CHANGED", qemuMonitorJSONHandleNicRxFilterChanged, }, - { "POWERDOWN", qemuMonitorJSONHandlePowerdown, }, { "PR_MANAGER_STATUS_CHANGED", qemuMonitorJSONHandlePRManagerStatusChanged, }, { "RDMA_GID_STATUS_CHANGED", qemuMonitorJSONHandleRdmaGidStatusChanged, }, { "RESET", qemuMonitorJSONHandleReset, }, @@ -733,11 +731,6 @@ static void qemuMonitorJSONHandleReset(qemuMonitor *mon, virJSONValue *data G_GN qemuMonitorEmitReset(mon); } -static void qemuMonitorJSONHandlePowerdown(qemuMonitor *mon, virJSONValue *data G_GNUC_UNUSED) -{ - qemuMonitorEmitPowerdown(mon); -} - static void qemuMonitorJSONHandleStop(qemuMonitor *mon, virJSONValue *data G_GNUC_UNUSED) { qemuMonitorEmitStop(mon); -- 2.31.1

The callers in the monitor code invoking the callbacks after events are received don't actually check the return value from the callbacks and there isn't really anything we could do on failure. Remove the return value from the intermediary functions so we can later remove them from the callback prototypes. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 204 ++++++++++++---------------------------- src/qemu/qemu_monitor.h | 176 +++++++++++++++++----------------- 2 files changed, 150 insertions(+), 230 deletions(-) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 628b3fb71d..6e2d8010c5 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -1147,126 +1147,107 @@ qemuMonitorUpdateVideoVram64Size(qemuMonitor *mon, /* Ensure proper locking around callbacks. */ -#define QEMU_MONITOR_CALLBACK(mon, ret, callback, ...) \ +#define QEMU_MONITOR_CALLBACK(mon, callback, ...) \ do { \ virObjectRef(mon); \ virObjectUnlock(mon); \ if ((mon)->cb && (mon)->cb->callback) \ - (ret) = (mon)->cb->callback(mon, __VA_ARGS__, \ - (mon)->callbackOpaque); \ + (mon)->cb->callback(mon, __VA_ARGS__, (mon)->callbackOpaque); \ virObjectLock(mon); \ virObjectUnref(mon); \ } while (0) -int +void qemuMonitorEmitEvent(qemuMonitor *mon, const char *event, long long seconds, unsigned int micros, const char *details) { - int ret = -1; VIR_DEBUG("mon=%p event=%s", mon, event); - QEMU_MONITOR_CALLBACK(mon, ret, domainEvent, mon->vm, event, seconds, + QEMU_MONITOR_CALLBACK(mon, domainEvent, mon->vm, event, seconds, micros, details); - return ret; } -int +void qemuMonitorEmitShutdown(qemuMonitor *mon, virTristateBool guest) { - int ret = -1; VIR_DEBUG("mon=%p guest=%u", mon, guest); - QEMU_MONITOR_CALLBACK(mon, ret, domainShutdown, mon->vm, guest); - return ret; + QEMU_MONITOR_CALLBACK(mon, domainShutdown, mon->vm, guest); } -int +void qemuMonitorEmitReset(qemuMonitor *mon) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainReset, mon->vm); - return ret; + QEMU_MONITOR_CALLBACK(mon, domainReset, mon->vm); } -int +void qemuMonitorEmitStop(qemuMonitor *mon) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainStop, mon->vm); - return ret; + QEMU_MONITOR_CALLBACK(mon, domainStop, mon->vm); } -int +void qemuMonitorEmitResume(qemuMonitor *mon) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainResume, mon->vm); - return ret; + QEMU_MONITOR_CALLBACK(mon, domainResume, mon->vm); } -int +void qemuMonitorEmitGuestPanic(qemuMonitor *mon, qemuMonitorEventPanicInfo *info) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainGuestPanic, mon->vm, info); - return ret; + QEMU_MONITOR_CALLBACK(mon, domainGuestPanic, mon->vm, info); } -int +void qemuMonitorEmitRTCChange(qemuMonitor *mon, long long offset) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainRTCChange, mon->vm, offset); - return ret; + QEMU_MONITOR_CALLBACK(mon, domainRTCChange, mon->vm, offset); } -int +void qemuMonitorEmitWatchdog(qemuMonitor *mon, int action) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainWatchdog, mon->vm, action); - return ret; + QEMU_MONITOR_CALLBACK(mon, domainWatchdog, mon->vm, action); } -int +void qemuMonitorEmitIOError(qemuMonitor *mon, const char *diskAlias, const char *nodename, int action, const char *reason) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainIOError, mon->vm, + QEMU_MONITOR_CALLBACK(mon, domainIOError, mon->vm, diskAlias, nodename, action, reason); - return ret; } -int +void qemuMonitorEmitGraphics(qemuMonitor *mon, int phase, int localFamily, @@ -1279,202 +1260,160 @@ qemuMonitorEmitGraphics(qemuMonitor *mon, const char *x509dname, const char *saslUsername) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainGraphics, mon->vm, phase, + QEMU_MONITOR_CALLBACK(mon, domainGraphics, mon->vm, phase, localFamily, localNode, localService, remoteFamily, remoteNode, remoteService, authScheme, x509dname, saslUsername); - return ret; } -int +void qemuMonitorEmitTrayChange(qemuMonitor *mon, const char *devAlias, const char *devid, int reason) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainTrayChange, mon->vm, + QEMU_MONITOR_CALLBACK(mon, domainTrayChange, mon->vm, devAlias, devid, reason); - - return ret; } -int +void qemuMonitorEmitPMWakeup(qemuMonitor *mon) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainPMWakeup, mon->vm); - - return ret; + QEMU_MONITOR_CALLBACK(mon, domainPMWakeup, mon->vm); } -int +void qemuMonitorEmitPMSuspend(qemuMonitor *mon) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainPMSuspend, mon->vm); - - return ret; + QEMU_MONITOR_CALLBACK(mon, domainPMSuspend, mon->vm); } -int +void qemuMonitorEmitPMSuspendDisk(qemuMonitor *mon) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainPMSuspendDisk, mon->vm); - - return ret; + QEMU_MONITOR_CALLBACK(mon, domainPMSuspendDisk, mon->vm); } -int +void qemuMonitorEmitBlockJob(qemuMonitor *mon, const char *diskAlias, int type, int status, const char *error) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainBlockJob, mon->vm, + QEMU_MONITOR_CALLBACK(mon, domainBlockJob, mon->vm, diskAlias, type, status, error); - return ret; } -int +void qemuMonitorEmitJobStatusChange(qemuMonitor *mon, const char *jobname, qemuMonitorJobStatus status) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, jobStatusChange, mon->vm, jobname, status); - return ret; + QEMU_MONITOR_CALLBACK(mon, jobStatusChange, mon->vm, jobname, status); } -int +void qemuMonitorEmitBalloonChange(qemuMonitor *mon, unsigned long long actual) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainBalloonChange, mon->vm, actual); - return ret; + QEMU_MONITOR_CALLBACK(mon, domainBalloonChange, mon->vm, actual); } -int +void qemuMonitorEmitDeviceDeleted(qemuMonitor *mon, const char *devAlias) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainDeviceDeleted, mon->vm, devAlias); - - return ret; + QEMU_MONITOR_CALLBACK(mon, domainDeviceDeleted, mon->vm, devAlias); } -int +void qemuMonitorEmitNicRxFilterChanged(qemuMonitor *mon, const char *devAlias) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainNicRxFilterChanged, mon->vm, devAlias); - - return ret; + QEMU_MONITOR_CALLBACK(mon, domainNicRxFilterChanged, mon->vm, devAlias); } -int +void qemuMonitorEmitSerialChange(qemuMonitor *mon, const char *devAlias, bool connected) { - int ret = -1; VIR_DEBUG("mon=%p, devAlias='%s', connected=%d", mon, devAlias, connected); - QEMU_MONITOR_CALLBACK(mon, ret, domainSerialChange, mon->vm, devAlias, connected); - - return ret; + QEMU_MONITOR_CALLBACK(mon, domainSerialChange, mon->vm, devAlias, connected); } -int +void qemuMonitorEmitSpiceMigrated(qemuMonitor *mon) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainSpiceMigrated, mon->vm); - - return ret; + QEMU_MONITOR_CALLBACK(mon, domainSpiceMigrated, mon->vm); } -int +void qemuMonitorEmitMemoryFailure(qemuMonitor *mon, qemuMonitorEventMemoryFailure *mfp) { - int ret = -1; - - QEMU_MONITOR_CALLBACK(mon, ret, domainMemoryFailure, mon->vm, mfp); - - return ret; + QEMU_MONITOR_CALLBACK(mon, domainMemoryFailure, mon->vm, mfp); } -int +void qemuMonitorEmitMigrationStatus(qemuMonitor *mon, int status) { - int ret = -1; VIR_DEBUG("mon=%p, status=%s", mon, NULLSTR(qemuMonitorMigrationStatusTypeToString(status))); - QEMU_MONITOR_CALLBACK(mon, ret, domainMigrationStatus, mon->vm, status); - - return ret; + QEMU_MONITOR_CALLBACK(mon, domainMigrationStatus, mon->vm, status); } -int +void qemuMonitorEmitMigrationPass(qemuMonitor *mon, int pass) { - int ret = -1; VIR_DEBUG("mon=%p, pass=%d", mon, pass); - QEMU_MONITOR_CALLBACK(mon, ret, domainMigrationPass, mon->vm, pass); - - return ret; + QEMU_MONITOR_CALLBACK(mon, domainMigrationPass, mon->vm, pass); } -int +void qemuMonitorEmitAcpiOstInfo(qemuMonitor *mon, const char *alias, const char *slotType, @@ -1482,92 +1421,73 @@ qemuMonitorEmitAcpiOstInfo(qemuMonitor *mon, unsigned int source, unsigned int status) { - int ret = -1; VIR_DEBUG("mon=%p, alias='%s', slotType='%s', slot='%s', source='%u' status=%u", mon, NULLSTR(alias), slotType, slot, source, status); - QEMU_MONITOR_CALLBACK(mon, ret, domainAcpiOstInfo, mon->vm, + QEMU_MONITOR_CALLBACK(mon, domainAcpiOstInfo, mon->vm, alias, slotType, slot, source, status); - - return ret; } -int +void qemuMonitorEmitBlockThreshold(qemuMonitor *mon, const char *nodename, unsigned long long threshold, unsigned long long excess) { - int ret = -1; - VIR_DEBUG("mon=%p, node-name='%s', threshold='%llu', excess='%llu'", mon, nodename, threshold, excess); - QEMU_MONITOR_CALLBACK(mon, ret, domainBlockThreshold, mon->vm, + QEMU_MONITOR_CALLBACK(mon, domainBlockThreshold, mon->vm, nodename, threshold, excess); - - return ret; } -int +void qemuMonitorEmitDumpCompleted(qemuMonitor *mon, int status, qemuMonitorDumpStats *stats, const char *error) { - int ret = -1; - VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainDumpCompleted, mon->vm, + QEMU_MONITOR_CALLBACK(mon, domainDumpCompleted, mon->vm, status, stats, error); - - return ret; } -int +void qemuMonitorEmitPRManagerStatusChanged(qemuMonitor *mon, const char *prManager, bool connected) { - int ret = -1; VIR_DEBUG("mon=%p, prManager='%s', connected=%d", mon, prManager, connected); - QEMU_MONITOR_CALLBACK(mon, ret, domainPRManagerStatusChanged, + QEMU_MONITOR_CALLBACK(mon, domainPRManagerStatusChanged, mon->vm, prManager, connected); - - return ret; } -int +void qemuMonitorEmitRdmaGidStatusChanged(qemuMonitor *mon, const char *netdev, bool gid_status, unsigned long long subnet_prefix, unsigned long long interface_id) { - int ret = -1; VIR_DEBUG("netdev=%s, gid_status=%d, subnet_prefix=0x%llx, interface_id=0x%llx", netdev, gid_status, subnet_prefix, interface_id); - QEMU_MONITOR_CALLBACK(mon, ret, domainRdmaGidStatusChanged, mon->vm, + QEMU_MONITOR_CALLBACK(mon, domainRdmaGidStatusChanged, mon->vm, netdev, gid_status, subnet_prefix, interface_id); - - return ret; } -int +void qemuMonitorEmitGuestCrashloaded(qemuMonitor *mon) { - int ret = -1; VIR_DEBUG("mon=%p", mon); - QEMU_MONITOR_CALLBACK(mon, ret, domainGuestCrashloaded, mon->vm); - return ret; + QEMU_MONITOR_CALLBACK(mon, domainGuestCrashloaded, mon->vm); } diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 265c25c521..2fa5151652 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -438,95 +438,95 @@ int qemuMonitorUpdateVideoVram64Size(qemuMonitor *mon, const char *videoName) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); -int qemuMonitorEmitEvent(qemuMonitor *mon, const char *event, - long long seconds, unsigned int micros, - const char *details); -int qemuMonitorEmitShutdown(qemuMonitor *mon, virTristateBool guest); -int qemuMonitorEmitReset(qemuMonitor *mon); -int qemuMonitorEmitStop(qemuMonitor *mon); -int qemuMonitorEmitResume(qemuMonitor *mon); -int qemuMonitorEmitRTCChange(qemuMonitor *mon, long long offset); -int qemuMonitorEmitWatchdog(qemuMonitor *mon, int action); -int qemuMonitorEmitIOError(qemuMonitor *mon, - const char *diskAlias, - const char *nodename, - int action, - const char *reason); -int qemuMonitorEmitGraphics(qemuMonitor *mon, - int phase, - int localFamily, - const char *localNode, - const char *localService, - int remoteFamily, - const char *remoteNode, - const char *remoteService, - const char *authScheme, - const char *x509dname, - const char *saslUsername); -int qemuMonitorEmitTrayChange(qemuMonitor *mon, - const char *devAlias, - const char *devid, - int reason); -int qemuMonitorEmitPMWakeup(qemuMonitor *mon); -int qemuMonitorEmitPMSuspend(qemuMonitor *mon); -int qemuMonitorEmitBlockJob(qemuMonitor *mon, + void qemuMonitorEmitEvent(qemuMonitor *mon, const char *event, + long long seconds, unsigned int micros, + const char *details); +void qemuMonitorEmitShutdown(qemuMonitor *mon, virTristateBool guest); +void qemuMonitorEmitReset(qemuMonitor *mon); +void qemuMonitorEmitStop(qemuMonitor *mon); +void qemuMonitorEmitResume(qemuMonitor *mon); +void qemuMonitorEmitRTCChange(qemuMonitor *mon, long long offset); +void qemuMonitorEmitWatchdog(qemuMonitor *mon, int action); +void qemuMonitorEmitIOError(qemuMonitor *mon, const char *diskAlias, - int type, - int status, - const char *error); -int qemuMonitorEmitJobStatusChange(qemuMonitor *mon, - const char *jobname, - qemuMonitorJobStatus status); -int qemuMonitorEmitBalloonChange(qemuMonitor *mon, - unsigned long long actual); -int qemuMonitorEmitPMSuspendDisk(qemuMonitor *mon); -int qemuMonitorEmitGuestPanic(qemuMonitor *mon, - qemuMonitorEventPanicInfo *info); -int qemuMonitorEmitDeviceDeleted(qemuMonitor *mon, - const char *devAlias); -int qemuMonitorEmitNicRxFilterChanged(qemuMonitor *mon, - const char *devAlias); -int qemuMonitorEmitSerialChange(qemuMonitor *mon, - const char *devAlias, - bool connected); -int qemuMonitorEmitSpiceMigrated(qemuMonitor *mon); - -int qemuMonitorEmitMemoryFailure(qemuMonitor *mon, - qemuMonitorEventMemoryFailure *mfp); - -int qemuMonitorEmitMigrationStatus(qemuMonitor *mon, - int status); -int qemuMonitorEmitMigrationPass(qemuMonitor *mon, - int pass); - -int qemuMonitorEmitAcpiOstInfo(qemuMonitor *mon, - const char *alias, - const char *slotType, - const char *slot, - unsigned int source, - unsigned int status); - -int qemuMonitorEmitBlockThreshold(qemuMonitor *mon, - const char *nodename, - unsigned long long threshold, - unsigned long long excess); - -int qemuMonitorEmitDumpCompleted(qemuMonitor *mon, - int status, - qemuMonitorDumpStats *stats, - const char *error); - -int qemuMonitorEmitPRManagerStatusChanged(qemuMonitor *mon, - const char *prManager, - bool connected); - -int qemuMonitorEmitRdmaGidStatusChanged(qemuMonitor *mon, - const char *netdev, - bool gid_status, - unsigned long long subnet_prefix, - unsigned long long interface_id); - -int qemuMonitorEmitGuestCrashloaded(qemuMonitor *mon); + const char *nodename, + int action, + const char *reason); +void qemuMonitorEmitGraphics(qemuMonitor *mon, + int phase, + int localFamily, + const char *localNode, + const char *localService, + int remoteFamily, + const char *remoteNode, + const char *remoteService, + const char *authScheme, + const char *x509dname, + const char *saslUsername); +void qemuMonitorEmitTrayChange(qemuMonitor *mon, + const char *devAlias, + const char *devid, + int reason); +void qemuMonitorEmitPMWakeup(qemuMonitor *mon); +void qemuMonitorEmitPMSuspend(qemuMonitor *mon); +void qemuMonitorEmitBlockJob(qemuMonitor *mon, + const char *diskAlias, + int type, + int status, + const char *error); +void qemuMonitorEmitJobStatusChange(qemuMonitor *mon, + const char *jobname, + qemuMonitorJobStatus status); +void qemuMonitorEmitBalloonChange(qemuMonitor *mon, + unsigned long long actual); +void qemuMonitorEmitPMSuspendDisk(qemuMonitor *mon); +void qemuMonitorEmitGuestPanic(qemuMonitor *mon, + qemuMonitorEventPanicInfo *info); +void qemuMonitorEmitDeviceDeleted(qemuMonitor *mon, + const char *devAlias); +void qemuMonitorEmitNicRxFilterChanged(qemuMonitor *mon, + const char *devAlias); +void qemuMonitorEmitSerialChange(qemuMonitor *mon, + const char *devAlias, + bool connected); +void qemuMonitorEmitSpiceMigrated(qemuMonitor *mon); + +void qemuMonitorEmitMemoryFailure(qemuMonitor *mon, + qemuMonitorEventMemoryFailure *mfp); + +void qemuMonitorEmitMigrationStatus(qemuMonitor *mon, + int status); +void qemuMonitorEmitMigrationPass(qemuMonitor *mon, + int pass); + +void qemuMonitorEmitAcpiOstInfo(qemuMonitor *mon, + const char *alias, + const char *slotType, + const char *slot, + unsigned int source, + unsigned int status); + +void qemuMonitorEmitBlockThreshold(qemuMonitor *mon, + const char *nodename, + unsigned long long threshold, + unsigned long long excess); + +void qemuMonitorEmitDumpCompleted(qemuMonitor *mon, + int status, + qemuMonitorDumpStats *stats, + const char *error); + +void qemuMonitorEmitPRManagerStatusChanged(qemuMonitor *mon, + const char *prManager, + bool connected); + +void qemuMonitorEmitRdmaGidStatusChanged(qemuMonitor *mon, + const char *netdev, + bool gid_status, + unsigned long long subnet_prefix, + unsigned long long interface_id); + +void qemuMonitorEmitGuestCrashloaded(qemuMonitor *mon); int qemuMonitorStartCPUs(qemuMonitor *mon); int qemuMonitorStopCPUs(qemuMonitor *mon); -- 2.31.1

On a %A in %Y, Peter Krempa wrote:
The callers in the monitor code invoking the callbacks after events are received don't actually check the return value from the callbacks and there isn't really anything we could do on failure.
Remove the return value from the intermediary functions so we can later remove them from the callback prototypes.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.c | 204 ++++++++++++---------------------------- src/qemu/qemu_monitor.h | 176 +++++++++++++++++----------------- 2 files changed, 150 insertions(+), 230 deletions(-)
diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 265c25c521..2fa5151652 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h -int qemuMonitorEmitTrayChange(qemuMonitor *mon, - const char *devAlias, - const char *devid, - int reason); -int qemuMonitorEmitPMWakeup(qemuMonitor *mon); -int qemuMonitorEmitPMSuspend(qemuMonitor *mon); -int qemuMonitorEmitBlockJob(qemuMonitor *mon, + void qemuMonitorEmitEvent(qemuMonitor *mon, const char *event, + long long seconds, unsigned int micros, + const char *details);
Indentation is off here. Jano
+void qemuMonitorEmitShutdown(qemuMonitor *mon, virTristateBool guest); +void qemuMonitorEmitReset(qemuMonitor *mon); +void qemuMonitorEmitStop(qemuMonitor *mon); +void qemuMonitorEmitResume(qemuMonitor *mon); +void qemuMonitorEmitRTCChange(qemuMonitor *mon, long long offset); +void qemuMonitorEmitWatchdog(qemuMonitor *mon, int action);

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 14 +++++++------- src/qemu/qemu_process.c | 4 +--- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 2fa5151652..d20b2e89d1 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -155,13 +155,13 @@ typedef void (*qemuMonitorEofNotifyCallback)(qemuMonitor *mon, typedef void (*qemuMonitorErrorNotifyCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); -typedef int (*qemuMonitorDomainEventCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *event, - long long seconds, - unsigned int micros, - const char *details, - void *opaque); +typedef void (*qemuMonitorDomainEventCallback)(qemuMonitor *mon, + virDomainObj *vm, + const char *event, + long long seconds, + unsigned int micros, + const char *details, + void *opaque); typedef int (*qemuMonitorDomainShutdownCallback)(qemuMonitor *mon, virDomainObj *vm, virTristateBool guest, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 914f936e45..6b9658f5ac 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -546,7 +546,7 @@ qemuProcessShutdownOrReboot(virQEMUDriver *driver, } -static int +static void qemuProcessHandleEvent(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, const char *eventName, @@ -567,8 +567,6 @@ qemuProcessHandleEvent(qemuMonitor *mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 8 ++++---- src/qemu/qemu_process.c | 4 +--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index d20b2e89d1..58968d940d 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -162,10 +162,10 @@ typedef void (*qemuMonitorDomainEventCallback)(qemuMonitor *mon, unsigned int micros, const char *details, void *opaque); -typedef int (*qemuMonitorDomainShutdownCallback)(qemuMonitor *mon, - virDomainObj *vm, - virTristateBool guest, - void *opaque); +typedef void (*qemuMonitorDomainShutdownCallback)(qemuMonitor *mon, + virDomainObj *vm, + virTristateBool guest, + void *opaque); typedef int (*qemuMonitorDomainResetCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 6b9658f5ac..925a774c3e 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -570,7 +570,7 @@ qemuProcessHandleEvent(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleShutdown(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, virTristateBool guest_initiated, @@ -642,8 +642,6 @@ qemuProcessHandleShutdown(qemuMonitor *mon G_GNUC_UNUSED, unlock: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 6 +++--- src/qemu/qemu_process.c | 5 +---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 58968d940d..969bcb1454 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -166,9 +166,9 @@ typedef void (*qemuMonitorDomainShutdownCallback)(qemuMonitor *mon, virDomainObj *vm, virTristateBool guest, void *opaque); -typedef int (*qemuMonitorDomainResetCallback)(qemuMonitor *mon, - virDomainObj *vm, - void *opaque); +typedef void (*qemuMonitorDomainResetCallback)(qemuMonitor *mon, + virDomainObj *vm, + void *opaque); typedef int (*qemuMonitorDomainStopCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 925a774c3e..90b22167cf 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -400,7 +400,7 @@ qemuProcessFindDomainDiskByAliasOrQOM(virDomainObj *vm, } -static int +static void qemuProcessHandleReset(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, void *opaque) @@ -409,7 +409,6 @@ qemuProcessHandleReset(qemuMonitor *mon G_GNUC_UNUSED, virObjectEvent *event; qemuDomainObjPrivate *priv; g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); - int ret = -1; virObjectLock(vm); @@ -441,11 +440,9 @@ qemuProcessHandleReset(qemuMonitor *mon G_GNUC_UNUSED, qemuDomainObjEndJob(driver, vm); } - ret = 0; cleanup: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - return ret; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 6 +++--- src/qemu/qemu_process.c | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 969bcb1454..f35f07f3ac 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -169,9 +169,9 @@ typedef void (*qemuMonitorDomainShutdownCallback)(qemuMonitor *mon, typedef void (*qemuMonitorDomainResetCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); -typedef int (*qemuMonitorDomainStopCallback)(qemuMonitor *mon, - virDomainObj *vm, - void *opaque); +typedef void (*qemuMonitorDomainStopCallback)(qemuMonitor *mon, + virDomainObj *vm, + void *opaque); typedef int (*qemuMonitorDomainResumeCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 90b22167cf..c501a981ca 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -642,7 +642,7 @@ qemuProcessHandleShutdown(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleStop(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, void *opaque) @@ -700,8 +700,6 @@ qemuProcessHandleStop(qemuMonitor *mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 6 +++--- src/qemu/qemu_process.c | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index f35f07f3ac..db995de93e 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -172,9 +172,9 @@ typedef void (*qemuMonitorDomainResetCallback)(qemuMonitor *mon, typedef void (*qemuMonitorDomainStopCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); -typedef int (*qemuMonitorDomainResumeCallback)(qemuMonitor *mon, - virDomainObj *vm, - void *opaque); +typedef void (*qemuMonitorDomainResumeCallback)(qemuMonitor *mon, + virDomainObj *vm, + void *opaque); typedef int (*qemuMonitorDomainRTCChangeCallback)(qemuMonitor *mon, virDomainObj *vm, long long offset, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index c501a981ca..80e8e20128 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -703,7 +703,7 @@ qemuProcessHandleStop(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleResume(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, void *opaque) @@ -743,7 +743,6 @@ qemuProcessHandleResume(qemuMonitor *mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - return 0; } static int -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 8 ++++---- src/qemu/qemu_process.c | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index db995de93e..a085e7ea27 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -175,10 +175,10 @@ typedef void (*qemuMonitorDomainStopCallback)(qemuMonitor *mon, typedef void (*qemuMonitorDomainResumeCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); -typedef int (*qemuMonitorDomainRTCChangeCallback)(qemuMonitor *mon, - virDomainObj *vm, - long long offset, - void *opaque); +typedef void (*qemuMonitorDomainRTCChangeCallback)(qemuMonitor *mon, + virDomainObj *vm, + long long offset, + void *opaque); typedef int (*qemuMonitorDomainWatchdogCallback)(qemuMonitor *mon, virDomainObj *vm, int action, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 80e8e20128..e41e350f33 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -745,7 +745,7 @@ qemuProcessHandleResume(qemuMonitor *mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, event); } -static int +static void qemuProcessHandleRTCChange(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, long long offset, @@ -785,7 +785,6 @@ qemuProcessHandleRTCChange(qemuMonitor *mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 8 ++++---- src/qemu/qemu_process.c | 4 +--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index a085e7ea27..260fb94696 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -179,10 +179,10 @@ typedef void (*qemuMonitorDomainRTCChangeCallback)(qemuMonitor *mon, virDomainObj *vm, long long offset, void *opaque); -typedef int (*qemuMonitorDomainWatchdogCallback)(qemuMonitor *mon, - virDomainObj *vm, - int action, - void *opaque); +typedef void (*qemuMonitorDomainWatchdogCallback)(qemuMonitor *mon, + virDomainObj *vm, + int action, + void *opaque); typedef int (*qemuMonitorDomainIOErrorCallback)(qemuMonitor *mon, virDomainObj *vm, const char *diskAlias, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index e41e350f33..8c7e9ad3ec 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -788,7 +788,7 @@ qemuProcessHandleRTCChange(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleWatchdog(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, int action, @@ -842,8 +842,6 @@ qemuProcessHandleWatchdog(qemuMonitor *mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, watchdogEvent); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 14 +++++++------- src/qemu/qemu_process.c | 3 +-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 260fb94696..af7fb098c6 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -183,13 +183,13 @@ typedef void (*qemuMonitorDomainWatchdogCallback)(qemuMonitor *mon, virDomainObj *vm, int action, void *opaque); -typedef int (*qemuMonitorDomainIOErrorCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *diskAlias, - const char *nodename, - int action, - const char *reason, - void *opaque); +typedef void (*qemuMonitorDomainIOErrorCallback)(qemuMonitor *mon, + virDomainObj *vm, + const char *diskAlias, + const char *nodename, + int action, + const char *reason, + void *opaque); typedef int (*qemuMonitorDomainGraphicsCallback)(qemuMonitor *mon, virDomainObj *vm, int phase, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 8c7e9ad3ec..6e53aec49a 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -845,7 +845,7 @@ qemuProcessHandleWatchdog(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleIOError(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, const char *diskAlias, @@ -912,7 +912,6 @@ qemuProcessHandleIOError(qemuMonitor *mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, ioErrorEvent); virObjectEventStateQueue(driver->domainEventState, ioErrorEvent2); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - return 0; } static int -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 26 +++++++++++++------------- src/qemu/qemu_process.c | 4 +--- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index af7fb098c6..a4c82ce5d5 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -190,19 +190,19 @@ typedef void (*qemuMonitorDomainIOErrorCallback)(qemuMonitor *mon, int action, const char *reason, void *opaque); -typedef int (*qemuMonitorDomainGraphicsCallback)(qemuMonitor *mon, - virDomainObj *vm, - int phase, - int localFamily, - const char *localNode, - const char *localService, - int remoteFamily, - const char *remoteNode, - const char *remoteService, - const char *authScheme, - const char *x509dname, - const char *saslUsername, - void *opaque); +typedef void (*qemuMonitorDomainGraphicsCallback)(qemuMonitor *mon, + virDomainObj *vm, + int phase, + int localFamily, + const char *localNode, + const char *localService, + int remoteFamily, + const char *remoteNode, + const char *remoteService, + const char *authScheme, + const char *x509dname, + const char *saslUsername, + void *opaque); typedef int (*qemuMonitorDomainBlockJobCallback)(qemuMonitor *mon, virDomainObj *vm, const char *diskAlias, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 6e53aec49a..27ea7d8c08 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1039,7 +1039,7 @@ qemuProcessHandleJobStatusChange(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleGraphics(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, int phase, @@ -1089,8 +1089,6 @@ qemuProcessHandleGraphics(qemuMonitor *mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - - return 0; } static int -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 14 +++++++------- src/qemu/qemu_process.c | 3 +-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index a4c82ce5d5..f2b784e4a6 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -203,13 +203,13 @@ typedef void (*qemuMonitorDomainGraphicsCallback)(qemuMonitor *mon, const char *x509dname, const char *saslUsername, void *opaque); -typedef int (*qemuMonitorDomainBlockJobCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *diskAlias, - int type, - int status, - const char *error, - void *opaque); +typedef void (*qemuMonitorDomainBlockJobCallback)(qemuMonitor *mon, + virDomainObj *vm, + const char *diskAlias, + int type, + int status, + const char *error, + void *opaque); typedef int (*qemuMonitorDomainJobStatusChangeCallback)(qemuMonitor *mon, virDomainObj *vm, const char *jobname, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 27ea7d8c08..abbf1776a0 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -914,7 +914,7 @@ qemuProcessHandleIOError(qemuMonitor *mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); } -static int +static void qemuProcessHandleBlockJob(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, const char *diskAlias, @@ -974,7 +974,6 @@ qemuProcessHandleBlockJob(qemuMonitor *mon G_GNUC_UNUSED, cleanup: qemuProcessEventFree(processEvent); virObjectUnlock(vm); - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 10 +++++----- src/qemu/qemu_process.c | 3 +-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index f2b784e4a6..e71cea797f 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -210,11 +210,11 @@ typedef void (*qemuMonitorDomainBlockJobCallback)(qemuMonitor *mon, int status, const char *error, void *opaque); -typedef int (*qemuMonitorDomainJobStatusChangeCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *jobname, - int status, - void *opaque); +typedef void (*qemuMonitorDomainJobStatusChangeCallback)(qemuMonitor *mon, + virDomainObj *vm, + const char *jobname, + int status, + void *opaque); typedef int (*qemuMonitorDomainTrayChangeCallback)(qemuMonitor *mon, virDomainObj *vm, const char *devAlias, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index abbf1776a0..cf4b0e70df 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -977,7 +977,7 @@ qemuProcessHandleBlockJob(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleJobStatusChange(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, const char *jobname, @@ -1034,7 +1034,6 @@ qemuProcessHandleJobStatusChange(qemuMonitor *mon G_GNUC_UNUSED, cleanup: qemuProcessEventFree(processEvent); virObjectUnlock(vm); - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 12 ++++++------ src/qemu/qemu_process.c | 3 +-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index e71cea797f..d080b42613 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -215,12 +215,12 @@ typedef void (*qemuMonitorDomainJobStatusChangeCallback)(qemuMonitor *mon, const char *jobname, int status, void *opaque); -typedef int (*qemuMonitorDomainTrayChangeCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *devAlias, - const char *devid, - int reason, - void *opaque); +typedef void (*qemuMonitorDomainTrayChangeCallback)(qemuMonitor *mon, + virDomainObj *vm, + const char *devAlias, + const char *devid, + int reason, + void *opaque); typedef int (*qemuMonitorDomainPMWakeupCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index cf4b0e70df..79bed57f03 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1089,7 +1089,7 @@ qemuProcessHandleGraphics(qemuMonitor *mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, event); } -static int +static void qemuProcessHandleTrayChange(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, const char *devAlias, @@ -1123,7 +1123,6 @@ qemuProcessHandleTrayChange(qemuMonitor *mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - return 0; } static int -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 6 +++--- src/qemu/qemu_process.c | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index d080b42613..f846bc521d 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -221,9 +221,9 @@ typedef void (*qemuMonitorDomainTrayChangeCallback)(qemuMonitor *mon, const char *devid, int reason, void *opaque); -typedef int (*qemuMonitorDomainPMWakeupCallback)(qemuMonitor *mon, - virDomainObj *vm, - void *opaque); +typedef void (*qemuMonitorDomainPMWakeupCallback)(qemuMonitor *mon, + virDomainObj *vm, + void *opaque); typedef int (*qemuMonitorDomainPMSuspendCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 79bed57f03..22e0c5fde2 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1125,7 +1125,7 @@ qemuProcessHandleTrayChange(qemuMonitor *mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, event); } -static int +static void qemuProcessHandlePMWakeup(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, void *opaque) @@ -1160,7 +1160,6 @@ qemuProcessHandlePMWakeup(qemuMonitor *mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - return 0; } static int -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 6 +++--- src/qemu/qemu_process.c | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index f846bc521d..d678205bc0 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -224,9 +224,9 @@ typedef void (*qemuMonitorDomainTrayChangeCallback)(qemuMonitor *mon, typedef void (*qemuMonitorDomainPMWakeupCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); -typedef int (*qemuMonitorDomainPMSuspendCallback)(qemuMonitor *mon, - virDomainObj *vm, - void *opaque); +typedef void (*qemuMonitorDomainPMSuspendCallback)(qemuMonitor *mon, + virDomainObj *vm, + void *opaque); typedef int (*qemuMonitorDomainBalloonChangeCallback)(qemuMonitor *mon, virDomainObj *vm, unsigned long long actual, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 22e0c5fde2..74a8bc7214 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1162,7 +1162,7 @@ qemuProcessHandlePMWakeup(qemuMonitor *mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); } -static int +static void qemuProcessHandlePMSuspend(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, void *opaque) @@ -1200,7 +1200,6 @@ qemuProcessHandlePMSuspend(qemuMonitor *mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - return 0; } static int -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 8 ++++---- src/qemu/qemu_process.c | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index d678205bc0..fa3d0e1922 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -227,10 +227,10 @@ typedef void (*qemuMonitorDomainPMWakeupCallback)(qemuMonitor *mon, typedef void (*qemuMonitorDomainPMSuspendCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); -typedef int (*qemuMonitorDomainBalloonChangeCallback)(qemuMonitor *mon, - virDomainObj *vm, - unsigned long long actual, - void *opaque); +typedef void (*qemuMonitorDomainBalloonChangeCallback)(qemuMonitor *mon, + virDomainObj *vm, + unsigned long long actual, + void *opaque); typedef int (*qemuMonitorDomainPMSuspendDiskCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 74a8bc7214..421b9b5f11 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1202,7 +1202,7 @@ qemuProcessHandlePMSuspend(qemuMonitor *mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); } -static int +static void qemuProcessHandleBalloonChange(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, unsigned long long actual, @@ -1225,7 +1225,6 @@ qemuProcessHandleBalloonChange(qemuMonitor *mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - return 0; } static int -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 6 +++--- src/qemu/qemu_process.c | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index fa3d0e1922..2cfcd40ab8 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -231,9 +231,9 @@ typedef void (*qemuMonitorDomainBalloonChangeCallback)(qemuMonitor *mon, virDomainObj *vm, unsigned long long actual, void *opaque); -typedef int (*qemuMonitorDomainPMSuspendDiskCallback)(qemuMonitor *mon, - virDomainObj *vm, - void *opaque); +typedef void (*qemuMonitorDomainPMSuspendDiskCallback)(qemuMonitor *mon, + virDomainObj *vm, + void *opaque); typedef int (*qemuMonitorDomainGuestPanicCallback)(qemuMonitor *mon, virDomainObj *vm, qemuMonitorEventPanicInfo *info, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 421b9b5f11..ef0b9a4503 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1227,7 +1227,7 @@ qemuProcessHandleBalloonChange(qemuMonitor *mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, event); } -static int +static void qemuProcessHandlePMSuspendDisk(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, void *opaque) @@ -1265,8 +1265,6 @@ qemuProcessHandlePMSuspendDisk(qemuMonitor *mon G_GNUC_UNUSED, virObjectEventStateQueue(driver->domainEventState, event); virObjectEventStateQueue(driver->domainEventState, lifecycleEvent); - - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 8 ++++---- src/qemu/qemu_process.c | 4 +--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 2cfcd40ab8..76e87d5909 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -234,10 +234,10 @@ typedef void (*qemuMonitorDomainBalloonChangeCallback)(qemuMonitor *mon, typedef void (*qemuMonitorDomainPMSuspendDiskCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); -typedef int (*qemuMonitorDomainGuestPanicCallback)(qemuMonitor *mon, - virDomainObj *vm, - qemuMonitorEventPanicInfo *info, - void *opaque); +typedef void (*qemuMonitorDomainGuestPanicCallback)(qemuMonitor *mon, + virDomainObj *vm, + qemuMonitorEventPanicInfo *info, + void *opaque); typedef int (*qemuMonitorDomainDeviceDeletedCallback)(qemuMonitor *mon, virDomainObj *vm, const char *devAlias, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index ef0b9a4503..cf77b7448c 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1268,7 +1268,7 @@ qemuProcessHandlePMSuspendDisk(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleGuestPanic(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, qemuMonitorEventPanicInfo *info, @@ -1294,8 +1294,6 @@ qemuProcessHandleGuestPanic(qemuMonitor *mon G_GNUC_UNUSED, } virObjectUnlock(vm); - - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 8 ++++---- src/qemu/qemu_process.c | 4 ++-- src/qemu/qemu_processpriv.h | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 76e87d5909..12e90c6545 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -238,10 +238,10 @@ typedef void (*qemuMonitorDomainGuestPanicCallback)(qemuMonitor *mon, virDomainObj *vm, qemuMonitorEventPanicInfo *info, void *opaque); -typedef int (*qemuMonitorDomainDeviceDeletedCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *devAlias, - void *opaque); +typedef void (*qemuMonitorDomainDeviceDeletedCallback)(qemuMonitor *mon, + virDomainObj *vm, + const char *devAlias, + void *opaque); typedef int (*qemuMonitorDomainNicRxFilterChangedCallback)(qemuMonitor *mon, virDomainObj *vm, const char *devAlias, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index cf77b7448c..a9c501e94c 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1297,7 +1297,7 @@ qemuProcessHandleGuestPanic(qemuMonitor *mon G_GNUC_UNUSED, } -int +void qemuProcessHandleDeviceDeleted(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, const char *devAlias, @@ -1330,7 +1330,7 @@ qemuProcessHandleDeviceDeleted(qemuMonitor *mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); - return 0; + return; error: qemuProcessEventFree(processEvent); goto cleanup; diff --git a/src/qemu/qemu_processpriv.h b/src/qemu/qemu_processpriv.h index d0b5735054..2bc60ce103 100644 --- a/src/qemu/qemu_processpriv.h +++ b/src/qemu/qemu_processpriv.h @@ -32,9 +32,9 @@ * This header file should never be used outside unit tests. */ -int qemuProcessHandleDeviceDeleted(qemuMonitor *mon, - virDomainObj *vm, - const char *devAlias, - void *opaque); +void qemuProcessHandleDeviceDeleted(qemuMonitor *mon, + virDomainObj *vm, + const char *devAlias, + void *opaque); int qemuProcessQMPInitMonitor(qemuMonitor *mon); -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 8 ++++---- src/qemu/qemu_process.c | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 12e90c6545..7f6a0a71ee 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -242,10 +242,10 @@ typedef void (*qemuMonitorDomainDeviceDeletedCallback)(qemuMonitor *mon, virDomainObj *vm, const char *devAlias, void *opaque); -typedef int (*qemuMonitorDomainNicRxFilterChangedCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *devAlias, - void *opaque); +typedef void (*qemuMonitorDomainNicRxFilterChangedCallback)(qemuMonitor *mon, + virDomainObj *vm, + const char *devAlias, + void *opaque); typedef int (*qemuMonitorDomainSerialChangeCallback)(qemuMonitor *mon, virDomainObj *vm, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index a9c501e94c..57eca2906f 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1485,7 +1485,7 @@ qemuProcessHandleBlockThreshold(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleNicRxFilterChanged(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, const char *devAlias, @@ -1514,7 +1514,7 @@ qemuProcessHandleNicRxFilterChanged(qemuMonitor *mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); - return 0; + return; error: qemuProcessEventFree(processEvent); goto cleanup; -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 10 +++++----- src/qemu/qemu_process.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 7f6a0a71ee..0db2c69ec5 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -247,11 +247,11 @@ typedef void (*qemuMonitorDomainNicRxFilterChangedCallback)(qemuMonitor *mon, const char *devAlias, void *opaque); -typedef int (*qemuMonitorDomainSerialChangeCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *devAlias, - bool connected, - void *opaque); +typedef void (*qemuMonitorDomainSerialChangeCallback)(qemuMonitor *mon, + virDomainObj *vm, + const char *devAlias, + bool connected, + void *opaque); typedef int (*qemuMonitorDomainSpiceMigratedCallback)(qemuMonitor *mon, virDomainObj *vm, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 57eca2906f..26a88069c0 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1521,7 +1521,7 @@ qemuProcessHandleNicRxFilterChanged(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleSerialChanged(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, const char *devAlias, @@ -1552,7 +1552,7 @@ qemuProcessHandleSerialChanged(qemuMonitor *mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); - return 0; + return; error: qemuProcessEventFree(processEvent); goto cleanup; -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 6 +++--- src/qemu/qemu_process.c | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 0db2c69ec5..09da2eee5a 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -253,9 +253,9 @@ typedef void (*qemuMonitorDomainSerialChangeCallback)(qemuMonitor *mon, bool connected, void *opaque); -typedef int (*qemuMonitorDomainSpiceMigratedCallback)(qemuMonitor *mon, - virDomainObj *vm, - void *opaque); +typedef void (*qemuMonitorDomainSpiceMigratedCallback)(qemuMonitor *mon, + virDomainObj *vm, + void *opaque); typedef int (*qemuMonitorDomainMigrationStatusCallback)(qemuMonitor *mon, virDomainObj *vm, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 26a88069c0..4c1c7eca43 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1559,7 +1559,7 @@ qemuProcessHandleSerialChanged(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleSpiceMigrated(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, void *opaque G_GNUC_UNUSED) @@ -1584,7 +1584,6 @@ qemuProcessHandleSpiceMigrated(qemuMonitor *mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 8 ++++---- src/qemu/qemu_process.c | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 09da2eee5a..5d40658d53 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -257,10 +257,10 @@ typedef void (*qemuMonitorDomainSpiceMigratedCallback)(qemuMonitor *mon, virDomainObj *vm, void *opaque); -typedef int (*qemuMonitorDomainMigrationStatusCallback)(qemuMonitor *mon, - virDomainObj *vm, - int status, - void *opaque); +typedef void (*qemuMonitorDomainMigrationStatusCallback)(qemuMonitor *mon, + virDomainObj *vm, + int status, + void *opaque); typedef int (*qemuMonitorDomainMigrationPassCallback)(qemuMonitor *mon, virDomainObj *vm, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 4c1c7eca43..598cf58bf7 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1587,7 +1587,7 @@ qemuProcessHandleSpiceMigrated(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleMigrationStatus(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, int status, @@ -1636,7 +1636,6 @@ qemuProcessHandleMigrationStatus(qemuMonitor *mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 8 ++++---- src/qemu/qemu_process.c | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 5d40658d53..cbf1098fa7 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -262,10 +262,10 @@ typedef void (*qemuMonitorDomainMigrationStatusCallback)(qemuMonitor *mon, int status, void *opaque); -typedef int (*qemuMonitorDomainMigrationPassCallback)(qemuMonitor *mon, - virDomainObj *vm, - int pass, - void *opaque); +typedef void (*qemuMonitorDomainMigrationPassCallback)(qemuMonitor *mon, + virDomainObj *vm, + int pass, + void *opaque); typedef int (*qemuMonitorDomainAcpiOstInfoCallback)(qemuMonitor *mon, virDomainObj *vm, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 598cf58bf7..139bf7ccf1 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1639,7 +1639,7 @@ qemuProcessHandleMigrationStatus(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleMigrationPass(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, int pass, @@ -1664,7 +1664,6 @@ qemuProcessHandleMigrationPass(qemuMonitor *mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 16 ++++++++-------- src/qemu/qemu_process.c | 4 +--- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index cbf1098fa7..c9be99e394 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -267,14 +267,14 @@ typedef void (*qemuMonitorDomainMigrationPassCallback)(qemuMonitor *mon, int pass, void *opaque); -typedef int (*qemuMonitorDomainAcpiOstInfoCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *alias, - const char *slotType, - const char *slot, - unsigned int source, - unsigned int status, - void *opaque); +typedef void (*qemuMonitorDomainAcpiOstInfoCallback)(qemuMonitor *mon, + virDomainObj *vm, + const char *alias, + const char *slotType, + const char *slot, + unsigned int source, + unsigned int status, + void *opaque); typedef int (*qemuMonitorDomainBlockThresholdCallback)(qemuMonitor *mon, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 139bf7ccf1..c012e8b4de 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1393,7 +1393,7 @@ qemuProcessHandleDeviceDeleted(qemuMonitor *mon G_GNUC_UNUSED, * Note that qemu does not emit the event for all the documented sources or * devices. */ -static int +static void qemuProcessHandleAcpiOstInfo(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, const char *alias, @@ -1428,8 +1428,6 @@ qemuProcessHandleAcpiOstInfo(qemuMonitor *mon G_GNUC_UNUSED, cleanup: virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, event); - - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 12 ++++++------ src/qemu/qemu_process.c | 4 +--- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index c9be99e394..22a07d7054 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -277,12 +277,12 @@ typedef void (*qemuMonitorDomainAcpiOstInfoCallback)(qemuMonitor *mon, void *opaque); -typedef int (*qemuMonitorDomainBlockThresholdCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *nodename, - unsigned long long threshold, - unsigned long long excess, - void *opaque); +typedef void (*qemuMonitorDomainBlockThresholdCallback)(qemuMonitor *mon, + virDomainObj *vm, + const char *nodename, + unsigned long long threshold, + unsigned long long excess, + void *opaque); typedef enum { diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index c012e8b4de..c6ab36d005 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1431,7 +1431,7 @@ qemuProcessHandleAcpiOstInfo(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleBlockThreshold(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, const char *nodename, @@ -1478,8 +1478,6 @@ qemuProcessHandleBlockThreshold(qemuMonitor *mon G_GNUC_UNUSED, virObjectUnlock(vm); virObjectEventStateQueue(driver->domainEventState, eventDevice); virObjectEventStateQueue(driver->domainEventState, eventSource); - - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 12 ++++++------ src/qemu/qemu_process.c | 3 +-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 22a07d7054..4ad14adb8b 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -303,12 +303,12 @@ struct _qemuMonitorDumpStats { unsigned long long total; /* total bytes to be written */ }; -typedef int (*qemuMonitorDomainDumpCompletedCallback)(qemuMonitor *mon, - virDomainObj *vm, - int status, - qemuMonitorDumpStats *stats, - const char *error, - void *opaque); +typedef void (*qemuMonitorDomainDumpCompletedCallback)(qemuMonitor *mon, + virDomainObj *vm, + int status, + qemuMonitorDumpStats *stats, + const char *error, + void *opaque); typedef int (*qemuMonitorDomainPRManagerStatusChangedCallback)(qemuMonitor *mon, virDomainObj *vm, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index c6ab36d005..d7935fc03e 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1663,7 +1663,7 @@ qemuProcessHandleMigrationPass(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleDumpCompleted(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, int status, @@ -1700,7 +1700,6 @@ qemuProcessHandleDumpCompleted(qemuMonitor *mon G_GNUC_UNUSED, cleanup: virResetLastError(); virObjectUnlock(vm); - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 10 +++++----- src/qemu/qemu_process.c | 13 ++++--------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 4ad14adb8b..caec6a424c 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -310,11 +310,11 @@ typedef void (*qemuMonitorDomainDumpCompletedCallback)(qemuMonitor *mon, const char *error, void *opaque); -typedef int (*qemuMonitorDomainPRManagerStatusChangedCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *prManager, - bool connected, - void *opaque); +typedef void (*qemuMonitorDomainPRManagerStatusChangedCallback)(qemuMonitor *mon, + virDomainObj *vm, + const char *prManager, + bool connected, + void *opaque); typedef int (*qemuMonitorDomainRdmaGidStatusChangedCallback)(qemuMonitor *mon, virDomainObj *vm, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index d7935fc03e..1c9327e179 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1703,7 +1703,7 @@ qemuProcessHandleDumpCompleted(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandlePRManagerStatusChanged(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, const char *prManager, @@ -1714,24 +1714,21 @@ qemuProcessHandlePRManagerStatusChanged(qemuMonitor *mon G_GNUC_UNUSED, qemuDomainObjPrivate *priv; struct qemuProcessEvent *processEvent = NULL; const char *managedAlias = qemuDomainGetManagedPRAlias(); - int ret = -1; virObjectLock(vm); VIR_DEBUG("pr-manager %s status changed for domain %p %s connected=%d", prManager, vm, vm->def->name, connected); - if (connected) { - /* Connect events are boring. */ - ret = 0; + /* Connect events are boring. */ + if (connected) goto cleanup; - } + /* Disconnect events are more interesting. */ if (STRNEQ(prManager, managedAlias)) { VIR_DEBUG("pr-manager %s not managed, ignoring event", prManager); - ret = 0; goto cleanup; } @@ -1749,10 +1746,8 @@ qemuProcessHandlePRManagerStatusChanged(qemuMonitor *mon G_GNUC_UNUSED, goto cleanup; } - ret = 0; cleanup: virObjectUnlock(vm); - return ret; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. It is also impossible for @info to be non-NULL in the cleanup section so the cleanup can be completely removed. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 14 +++++++------- src/qemu/qemu_process.c | 8 +------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index caec6a424c..071a40de44 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -316,13 +316,13 @@ typedef void (*qemuMonitorDomainPRManagerStatusChangedCallback)(qemuMonitor *mon bool connected, void *opaque); -typedef int (*qemuMonitorDomainRdmaGidStatusChangedCallback)(qemuMonitor *mon, - virDomainObj *vm, - const char *netdev, - bool gid_status, - unsigned long long subnet_prefix, - unsigned long long interface_id, - void *opaque); +typedef void (*qemuMonitorDomainRdmaGidStatusChangedCallback)(qemuMonitor *mon, + virDomainObj *vm, + const char *netdev, + bool gid_status, + unsigned long long subnet_prefix, + unsigned long long interface_id, + void *opaque); typedef int (*qemuMonitorDomainGuestCrashloadedCallback)(qemuMonitor *mon, virDomainObj *vm, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 1c9327e179..c31dbb5513 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1751,7 +1751,7 @@ qemuProcessHandlePRManagerStatusChanged(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleRdmaGidStatusChanged(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, const char *netdev, @@ -1763,7 +1763,6 @@ qemuProcessHandleRdmaGidStatusChanged(qemuMonitor *mon G_GNUC_UNUSED, virQEMUDriver *driver = opaque; struct qemuProcessEvent *processEvent = NULL; qemuMonitorRdmaGidStatus *info = NULL; - int ret = -1; virObjectLock(vm); @@ -1787,14 +1786,9 @@ qemuProcessHandleRdmaGidStatusChanged(qemuMonitor *mon G_GNUC_UNUSED, if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { qemuProcessEventFree(processEvent); virObjectUnref(vm); - goto cleanup; } - ret = 0; - cleanup: - qemuMonitorEventRdmaGidStatusFree(info); virObjectUnlock(vm); - return ret; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 6 +++--- src/qemu/qemu_process.c | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 071a40de44..c3a463aa51 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -324,9 +324,9 @@ typedef void (*qemuMonitorDomainRdmaGidStatusChangedCallback)(qemuMonitor *mon, unsigned long long interface_id, void *opaque); -typedef int (*qemuMonitorDomainGuestCrashloadedCallback)(qemuMonitor *mon, - virDomainObj *vm, - void *opaque); +typedef void (*qemuMonitorDomainGuestCrashloadedCallback)(qemuMonitor *mon, + virDomainObj *vm, + void *opaque); typedef enum { QEMU_MONITOR_MEMORY_FAILURE_RECIPIENT_HYPERVISOR, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index c31dbb5513..eee65a71b2 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1792,7 +1792,7 @@ qemuProcessHandleRdmaGidStatusChanged(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleGuestCrashloaded(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, void *opaque) @@ -1812,8 +1812,6 @@ qemuProcessHandleGuestCrashloaded(qemuMonitor *mon G_GNUC_UNUSED, } virObjectUnlock(vm); - - return 0; } -- 2.31.1

Change the callback prototype and fix the callback registered in the process code. The removed error messages are impossible as the enum values are converted via VIR_ENUM helpers and guarded by compiler checks. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_monitor.h | 8 ++++---- src/qemu/qemu_process.c | 12 +++--------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index c3a463aa51..4c5ba95dd8 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -356,10 +356,10 @@ struct _qemuMonitorEventMemoryFailure { bool recursive; }; -typedef int (*qemuMonitorDomainMemoryFailureCallback)(qemuMonitor *mon, - virDomainObj *vm, - qemuMonitorEventMemoryFailure *mfp, - void *opaque); +typedef void (*qemuMonitorDomainMemoryFailureCallback)(qemuMonitor *mon, + virDomainObj *vm, + qemuMonitorEventMemoryFailure *mfp, + void *opaque); typedef struct _qemuMonitorCallbacks qemuMonitorCallbacks; struct _qemuMonitorCallbacks { diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index eee65a71b2..1bdfbce697 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1815,7 +1815,7 @@ qemuProcessHandleGuestCrashloaded(qemuMonitor *mon G_GNUC_UNUSED, } -static int +static void qemuProcessHandleMemoryFailure(qemuMonitor *mon G_GNUC_UNUSED, virDomainObj *vm, qemuMonitorEventMemoryFailure *mfp, @@ -1836,9 +1836,7 @@ qemuProcessHandleMemoryFailure(qemuMonitor *mon G_GNUC_UNUSED, break; case QEMU_MONITOR_MEMORY_FAILURE_RECIPIENT_LAST: default: - virReportError(VIR_ERR_INVALID_ARG, "%s", - _("requested unknown memory failure recipient")); - return -1; + return; } switch (mfp->action) { @@ -1856,9 +1854,7 @@ qemuProcessHandleMemoryFailure(qemuMonitor *mon G_GNUC_UNUSED, break; case QEMU_MONITOR_MEMORY_FAILURE_ACTION_LAST: default: - virReportError(VIR_ERR_INVALID_ARG, "%s", - _("requested unknown memory failure action")); - return -1; + return; } if (mfp->action_required) @@ -1868,8 +1864,6 @@ qemuProcessHandleMemoryFailure(qemuMonitor *mon G_GNUC_UNUSED, event = virDomainEventMemoryFailureNewFromObj(vm, recipient, action, flags); virObjectEventStateQueue(driver->domainEventState, event); - - return 0; } -- 2.31.1

The submission of the event to the helper thread has a verbose cleanup path which was duplicated in all the event handlers. Simplify it by extracting the code into a helper named 'qemuProcessEventSubmit' and reuse it where appropriate. Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_process.c | 113 +++++++++++++++------------------------- 1 file changed, 43 insertions(+), 70 deletions(-) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 1bdfbce697..4c1130945f 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -280,6 +280,33 @@ qemuConnectAgent(virQEMUDriver *driver, virDomainObj *vm) } +/** + * qemuProcessEventSubmit: + * @driver: QEMU driver object + * @event: pointer to the variable holding the event processing data (stolen and cleared) + * + * Submits @event to be processed by the asynchronous event handling thread. + * In case when submission of the handling fails @event is properly freed and + * cleared. If (*event)->vm is non-NULL the domain object is uref'd before freeing + * @event. + */ +static void +qemuProcessEventSubmit(virQEMUDriver *driver, + struct qemuProcessEvent **event) +{ + if (!*event) + return; + + if (virThreadPoolSendJob(driver->workerPool, 0, *event) < 0) { + if ((*event)->vm) + virObjectUnref((*event)->vm); + qemuProcessEventFree(*event); + } + + *event = NULL; +} + + /* * This is a callback registered with a qemuMonitor *instance, * and to be invoked when the monitor console hits an end of file @@ -310,11 +337,7 @@ qemuProcessHandleMonitorEOF(qemuMonitor *mon, processEvent->eventType = QEMU_PROCESS_EVENT_MONITOR_EOF; processEvent->vm = virObjectRef(vm); - if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - virObjectUnref(vm); - qemuProcessEventFree(processEvent); - goto cleanup; - } + qemuProcessEventSubmit(driver, &processEvent); /* We don't want this EOF handler to be called over and over while the * thread is waiting for a job. @@ -833,10 +856,8 @@ qemuProcessHandleWatchdog(qemuMonitor *mon G_GNUC_UNUSED, * deleted before handling watchdog event is finished. */ processEvent->vm = virObjectRef(vm); - if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - virObjectUnref(vm); - qemuProcessEventFree(processEvent); - } + + qemuProcessEventSubmit(driver, &processEvent); } virObjectUnlock(vm); @@ -925,7 +946,6 @@ qemuProcessHandleBlockJob(qemuMonitor *mon G_GNUC_UNUSED, { qemuDomainObjPrivate *priv; virQEMUDriver *driver = opaque; - struct qemuProcessEvent *processEvent = NULL; virDomainDiskDef *disk; g_autoptr(qemuBlockJobData) job = NULL; char *data = NULL; @@ -954,7 +974,7 @@ qemuProcessHandleBlockJob(qemuMonitor *mon G_GNUC_UNUSED, virDomainObjBroadcast(vm); } else { /* there is no waiting SYNC API, dispatch the update to a thread */ - processEvent = g_new0(struct qemuProcessEvent, 1); + struct qemuProcessEvent *processEvent = g_new0(struct qemuProcessEvent, 1); processEvent->eventType = QEMU_PROCESS_EVENT_BLOCK_JOB; data = g_strdup(diskAlias); @@ -963,16 +983,10 @@ qemuProcessHandleBlockJob(qemuMonitor *mon G_GNUC_UNUSED, processEvent->action = type; processEvent->status = status; - if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - virObjectUnref(vm); - goto cleanup; - } - - processEvent = NULL; + qemuProcessEventSubmit(driver, &processEvent); } cleanup: - qemuProcessEventFree(processEvent); virObjectUnlock(vm); } @@ -986,7 +1000,6 @@ qemuProcessHandleJobStatusChange(qemuMonitor *mon G_GNUC_UNUSED, { virQEMUDriver *driver = opaque; qemuDomainObjPrivate *priv; - struct qemuProcessEvent *processEvent = NULL; qemuBlockJobData *job = NULL; int jobnewstate; @@ -1016,23 +1029,18 @@ qemuProcessHandleJobStatusChange(qemuMonitor *mon G_GNUC_UNUSED, VIR_DEBUG("job '%s' handled synchronously", jobname); virDomainObjBroadcast(vm); } else { + struct qemuProcessEvent *processEvent = g_new0(struct qemuProcessEvent, 1); + VIR_DEBUG("job '%s' handled by event thread", jobname); - processEvent = g_new0(struct qemuProcessEvent, 1); processEvent->eventType = QEMU_PROCESS_EVENT_JOB_STATUS_CHANGE; processEvent->vm = virObjectRef(vm); processEvent->data = virObjectRef(job); - if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - virObjectUnref(vm); - goto cleanup; - } - - processEvent = NULL; + qemuProcessEventSubmit(driver, &processEvent); } cleanup: - qemuProcessEventFree(processEvent); virObjectUnlock(vm); } @@ -1288,10 +1296,7 @@ qemuProcessHandleGuestPanic(qemuMonitor *mon G_GNUC_UNUSED, */ processEvent->vm = virObjectRef(vm); - if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - virObjectUnref(vm); - qemuProcessEventFree(processEvent); - } + qemuProcessEventSubmit(driver, &processEvent); virObjectUnlock(vm); } @@ -1323,17 +1328,10 @@ qemuProcessHandleDeviceDeleted(qemuMonitor *mon G_GNUC_UNUSED, processEvent->data = data; processEvent->vm = virObjectRef(vm); - if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - virObjectUnref(vm); - goto error; - } + qemuProcessEventSubmit(driver, &processEvent); cleanup: virObjectUnlock(vm); - return; - error: - qemuProcessEventFree(processEvent); - goto cleanup; } @@ -1503,17 +1501,9 @@ qemuProcessHandleNicRxFilterChanged(qemuMonitor *mon G_GNUC_UNUSED, processEvent->data = data; processEvent->vm = virObjectRef(vm); - if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - virObjectUnref(vm); - goto error; - } + qemuProcessEventSubmit(driver, &processEvent); - cleanup: virObjectUnlock(vm); - return; - error: - qemuProcessEventFree(processEvent); - goto cleanup; } @@ -1541,17 +1531,9 @@ qemuProcessHandleSerialChanged(qemuMonitor *mon G_GNUC_UNUSED, processEvent->action = connected; processEvent->vm = virObjectRef(vm); - if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - virObjectUnref(vm); - goto error; - } + qemuProcessEventSubmit(driver, &processEvent); - cleanup: virObjectUnlock(vm); - return; - error: - qemuProcessEventFree(processEvent); - goto cleanup; } @@ -1740,11 +1722,8 @@ qemuProcessHandlePRManagerStatusChanged(qemuMonitor *mon G_GNUC_UNUSED, processEvent->eventType = QEMU_PROCESS_EVENT_PR_DISCONNECT; processEvent->vm = virObjectRef(vm); - if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - qemuProcessEventFree(processEvent); - virObjectUnref(vm); - goto cleanup; - } + qemuProcessEventSubmit(driver, &processEvent); + cleanup: virObjectUnlock(vm); @@ -1783,10 +1762,7 @@ qemuProcessHandleRdmaGidStatusChanged(qemuMonitor *mon G_GNUC_UNUSED, processEvent->vm = virObjectRef(vm); processEvent->data = g_steal_pointer(&info); - if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - qemuProcessEventFree(processEvent); - virObjectUnref(vm); - } + qemuProcessEventSubmit(driver, &processEvent); virObjectUnlock(vm); } @@ -1806,10 +1782,7 @@ qemuProcessHandleGuestCrashloaded(qemuMonitor *mon G_GNUC_UNUSED, processEvent->eventType = QEMU_PROCESS_EVENT_GUEST_CRASHLOADED; processEvent->vm = virObjectRef(vm); - if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - virObjectUnref(vm); - qemuProcessEventFree(processEvent); - } + qemuProcessEventSubmit(driver, &processEvent); virObjectUnlock(vm); } -- 2.31.1

On a %A in %Y, Peter Krempa wrote:
The submission of the event to the helper thread has a verbose cleanup path which was duplicated in all the event handlers. Simplify it by extracting the code into a helper named 'qemuProcessEventSubmit' and reuse it where appropriate.
Signed-off-by: Peter Krempa <pkrempa@redhat.com> --- src/qemu/qemu_process.c | 113 +++++++++++++++------------------------- 1 file changed, 43 insertions(+), 70 deletions(-)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 1bdfbce697..4c1130945f 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c
@@ -1740,11 +1722,8 @@ qemuProcessHandlePRManagerStatusChanged(qemuMonitor *mon G_GNUC_UNUSED, processEvent->eventType = QEMU_PROCESS_EVENT_PR_DISCONNECT; processEvent->vm = virObjectRef(vm);
- if (virThreadPoolSendJob(driver->workerPool, 0, processEvent) < 0) { - qemuProcessEventFree(processEvent); - virObjectUnref(vm); - goto cleanup; - } + qemuProcessEventSubmit(driver, &processEvent); +
cleanup: virObjectUnlock(vm);
Extra newline. Jano

On a %A in %Y, Peter Krempa wrote:
Peter Krempa (33): qemu: monitor: Remove handlers for the 'POWERDOWN' event qemu: monitor: Remove return value from qemuMonitorEmit* functions qemu: Remove return value from qemuMonitorDomainEventCallback qemu: Remove return value from qemuMonitorDomainShutdownCallback qemu: Remove return value from qemuMonitorDomainResetCallback qemu: Remove return value from qemuMonitorDomainStopCallback qemu: Remove return value from qemuMonitorDomainResumeCallback qemu: Remove return value from qemuMonitorDomainRTCChangeCallback qemu: Remove return value from qemuMonitorDomainWatchdogCallback qemu: Remove return value from qemuMonitorDomainIOErrorCallback qemu: Remove return value from qemuMonitorDomainGraphicsCallback qemu: Remove return value from qemuMonitorDomainBlockJobCallback qemu: Remove return value from qemuMonitorDomainJobStatusChangeCallback qemu: Remove return value from qemuMonitorDomainTrayChangeCallback qemu: Remove return value from qemuMonitorDomainPMWakeupCallback qemu: Remove return value from qemuMonitorDomainPMSuspendCallback qemu: Remove return value from qemuMonitorDomainBalloonChangeCallback qemu: Remove return value from qemuMonitorDomainPMSuspendDiskCallback qemu: Remove return value from qemuMonitorDomainGuestPanicCallback qemu: Remove return value from qemuMonitorDomainDeviceDeletedCallback qemu: Remove return value from qemuMonitorDomainNicRxFilterChangedCallback qemu: Remove return value from qemuMonitorDomainSerialChangeCallback qemu: Remove return value from qemuMonitorDomainSpiceMigratedCallback qemu: Remove return value from qemuMonitorDomainMigrationStatusCallback qemu: Remove return value from qemuMonitorDomainMigrationPassCallback qemu: Remove return value from qemuMonitorDomainAcpiOstInfoCallback qemu: Remove return value from qemuMonitorDomainBlockThresholdCallback qemu: Remove return value from qemuMonitorDomainDumpCompletedCallback qemu: Remove return value from qemuMonitorDomainPRManagerStatusChangedCallback qemu: Remove return value from qemuMonitorDomainRdmaGidStatusChangedCallback qemu: Remove return value from qemuMonitorDomainGuestCrashloadedCallback qemu: Remove return value from qemuMonitorDomainMemoryFailureCallback qemu: process: Extract code for submitting event handling to separate thread
src/qemu/qemu_monitor.c | 215 +++++------------ src/qemu/qemu_monitor.h | 443 +++++++++++++++++------------------ src/qemu/qemu_monitor_json.c | 7 - src/qemu/qemu_process.c | 236 ++++++------------- src/qemu/qemu_processpriv.h | 8 +- 5 files changed, 363 insertions(+), 546 deletions(-)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano
participants (2)
-
Jano Tomko
-
Peter Krempa