[PATCH 1/2] qemu: refresh state after reset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Domain state may change during the reset and qemu does not always
send events about it.  In case it happens, the state would be
inconsistent with the internal state of qemu which could cause
additional problems.  The solution is to refresh state after a
successful reset to query qemu about the current domain state.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1824722

Signed-off-by: Kristina Hanicova <khanicov@xxxxxxxxxx>
---
 src/qemu/qemu_driver.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index ff5a743716..b2060ee843 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2000,6 +2000,7 @@ qemuDomainReset(virDomainPtr dom, unsigned int flags)
     int ret = -1;
     qemuDomainObjPrivate *priv;
     virDomainState state;
+    virQEMUDriver *driver = dom->conn->privateData;
 
     virCheckFlags(0, -1);
 
@@ -2023,8 +2024,11 @@ qemuDomainReset(virDomainPtr dom, unsigned int flags)
     priv->fakeReboot = false;
 
     state = virDomainObjGetState(vm, NULL);
-    if (state == VIR_DOMAIN_CRASHED)
+    if (state == VIR_DOMAIN_CRASHED) {
         virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, VIR_DOMAIN_PAUSED_CRASHED);
+    } else if (qemuProcessRefreshState(driver, vm, VIR_ASYNC_JOB_NONE) < 0) {
+        goto cleanup;
+    }
 
  endjob:
     virDomainObjEndJob(vm);
-- 
2.38.1




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux