Several paths repeat the same guest-agent teardown sequence; extract it into one helper so it stays in sync.
Signed-off-by: Polina Vishneva <[email protected]> --- src/qemu/qemu_driver.c | 5 +---- src/qemu/qemu_process.c | 15 +++++++++++---- src/qemu/qemu_process.h | 2 ++ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 8ec9e1f9c4..0edc568bd7 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -3929,10 +3929,7 @@ processSerialChangedEvent(virQEMUDriver *driver, if (qemuConnectAgent(driver, vm) < 0) goto endjob; } else { - if (priv->agent) { - g_clear_pointer(&priv->agent, qemuAgentClose); - } - priv->agentError = false; + qemuProcessResetAgent(vm); } agentEvent = virDomainEventAgentLifecycleNewFromObj(vm, newstate, diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 4c94ff3c91..77d9880d14 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -140,6 +140,16 @@ qemuProcessRemoveDomainStatus(virQEMUDriver *driver, } +void +qemuProcessResetAgent(virDomainObj *vm) +{ + qemuDomainObjPrivate *priv = vm->privateData; + + g_clear_pointer(&priv->agent, qemuAgentClose); + priv->agentError = false; +} + + /* * This is a callback registered with a qemuAgent *instance, * and to be invoked when the agent console hits an end of file @@ -9401,10 +9411,7 @@ qemuProcessStop(virDomainObj *vm, virObjectLock(vm); } - if (priv->agent) { - g_clear_pointer(&priv->agent, qemuAgentClose); - } - priv->agentError = false; + qemuProcessResetAgent(vm); if (priv->mon) { g_clear_pointer(&priv->mon, qemuMonitorClose); diff --git a/src/qemu/qemu_process.h b/src/qemu/qemu_process.h index 5874214596..3fc9f844d3 100644 --- a/src/qemu/qemu_process.h +++ b/src/qemu/qemu_process.h @@ -210,6 +210,8 @@ virDomainDiskDef *qemuProcessFindDomainDiskByAliasOrQOM(virDomainObj *vm, int qemuConnectAgent(virQEMUDriver *driver, virDomainObj *vm); +void qemuProcessResetAgent(virDomainObj *vm); + int qemuProcessSetupVcpu(virDomainObj *vm, unsigned int vcpuid, -- 2.54.0
