]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
libxl: initialize domain state with real data
authorMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Fri, 7 Sep 2018 19:29:56 +0000 (21:29 +0200)
committerJim Fehlig <jfehlig@suse.com>
Mon, 10 Sep 2018 15:24:53 +0000 (09:24 -0600)
When libvirtd is started, initialize domain objects state with its real
state, not only RUNNING/SHUTOFF.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
src/libxl/libxl_driver.c

index 58f9f1f30800658b5467b3ad835a72d7b3e68cdf..006279b52c968bd72858be420081f0f86faf5caf 100644 (file)
@@ -412,6 +412,17 @@ libxlReconnectDomain(virDomainObjPtr vm,
                                             vm->def, hostdev_flags) < 0)
         goto error;
 
+    if (d_info.shutdown &&
+            d_info.shutdown_reason == LIBXL_SHUTDOWN_REASON_SUSPEND)
+        virDomainObjSetState(vm, VIR_DOMAIN_PMSUSPENDED,
+                             VIR_DOMAIN_PMSUSPENDED_UNKNOWN);
+    else if (d_info.paused)
+        virDomainObjSetState(vm, VIR_DOMAIN_PAUSED,
+                             VIR_DOMAIN_PAUSED_UNKNOWN);
+    else
+        virDomainObjSetState(vm, VIR_DOMAIN_RUNNING,
+                             VIR_DOMAIN_RUNNING_UNKNOWN);
+
     if (virAtomicIntInc(&driver->nactive) == 1 && driver->inhibitCallback)
         driver->inhibitCallback(true, driver->inhibitOpaque);