[libvirt] [PATCHv2 2/2] qemu: emit 'defined' event after reverted to snapshot

Dmitry Andreev dandreev at virtuozzo.com
Wed Dec 16 09:09:42 UTC 2015


If config file was changed VIR_DOMAIN_EVENT_DEFINED should be emitted
---
 src/qemu/qemu_driver.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 783a7cd..1474eaa 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -15512,7 +15512,7 @@ qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
                                              VIR_DOMAIN_EVENT_STARTED,
                                              detail);
             if (rc < 0)
-                goto endjob;
+                goto defined;
         }
 
         /* Touch up domain state.  */
@@ -15534,7 +15534,7 @@ qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
             if (!virDomainObjIsActive(vm)) {
                 virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                                _("guest unexpectedly quit"));
-                goto endjob;
+                goto defined;
             }
             rc = qemuProcessStartCPUs(driver, vm, snapshot->domain->conn,
                                       VIR_DOMAIN_RUNNING_FROM_SNAPSHOT,
@@ -15636,6 +15636,15 @@ qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
 
     ret = 0;
 
+ defined:
+    if (config) {
+        virObjectEventPtr define_event;
+        define_event = virDomainEventLifecycleNewFromObj(vm,
+                                    VIR_DOMAIN_EVENT_DEFINED,
+                                    VIR_DOMAIN_EVENT_DEFINED_FROM_SNAPSHOT);
+        qemuDomainEventQueue(driver, define_event);
+    }
+
  endjob:
     qemuProcessEndJob(driver, vm);
 
-- 
1.8.3.1




More information about the libvir-list mailing list