Several paths repeat the same guest-agent teardown sequence; extract it
into one helper so it stays in sync.
Signed-off-by: Polina Vishneva <polina.vishneva@virtuozzo.com>
---
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