[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 10/11] migration: create migration event
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 10/11] migration: create migration event |
Date: |
Wed, 17 Jun 2015 03:50:32 +0200 |
We have one argument that tells us what event has happened.
Signed-off-by: Juan Quintela <address@hidden>
X3
Signed-off-by: Juan Quintela <address@hidden>
---
docs/qmp/qmp-events.txt | 14 ++++++++++++++
migration/migration.c | 2 ++
qapi/event.json | 14 ++++++++++++++
3 files changed, 30 insertions(+)
diff --git a/docs/qmp/qmp-events.txt b/docs/qmp/qmp-events.txt
index 4c13d48..3fe8cb7 100644
--- a/docs/qmp/qmp-events.txt
+++ b/docs/qmp/qmp-events.txt
@@ -473,6 +473,20 @@ Example:
{ "timestamp": {"seconds": 1290688046, "microseconds": 417172},
"event": "SPICE_MIGRATE_COMPLETED" }
+MIGRATION
+---------
+
+Emitted when a migration event happens
+
+Data: None.
+
+ - "status": migration status
+ See MigrationStatus in ~/qapi-scheme.json for possible values
+
+Example:
+
+{"timestamp": {"seconds": 1432121972, "microseconds": 744001},
+ "event": "MIGRATION", "data": {"status": "completed"}}
STOP
----
diff --git a/migration/migration.c b/migration/migration.c
index b31c7f4..3637d36 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -26,6 +26,7 @@
#include "qmp-commands.h"
#include "trace.h"
#include "qapi/util.h"
+#include "qapi-event.h"
#define MAX_THROTTLE (32 << 20) /* Migration speed throttling */
@@ -506,6 +507,7 @@ void qmp_migrate_set_parameters(bool has_compress_level,
static void migrate_set_state(MigrationState *s, int old_state, int new_state)
{
if (atomic_cmpxchg(&s->state, old_state, new_state) == old_state) {
+ qapi_event_send_migration(new_state, &error_abort);
trace_migrate_set_state(new_state);
}
}
diff --git a/qapi/event.json b/qapi/event.json
index 378dda5..fe5e182 100644
--- a/qapi/event.json
+++ b/qapi/event.json
@@ -243,6 +243,20 @@
{ 'event': 'SPICE_MIGRATE_COMPLETED' }
##
+# @MIGRATION
+#
+# Emitted when a migration event happens
+#
+# @status: @MigrationStatus describing the current migration status.
+# If this field is not returned, no migration process
+# has been initiated
+#
+# Since: 2.4
+##
+{ 'event': 'MIGRATION',
+ 'data': {'status': 'MigrationStatus'}}
+
+##
# @ACPI_DEVICE_OST
#
# Emitted when guest executes ACPI _OST method.
--
2.4.3
- [Qemu-devel] [PATCH 04/11] global_state: Make section optional, (continued)
- [Qemu-devel] [PATCH 04/11] global_state: Make section optional, Juan Quintela, 2015/06/16
- [Qemu-devel] [PATCH 06/11] migration: Add configuration section, Juan Quintela, 2015/06/16
- [Qemu-devel] [PATCH 09/11] migration: No need to call trace_migrate_set_state(), Juan Quintela, 2015/06/16
- [Qemu-devel] [PATCH 08/11] migration: Use always helper to set state, Juan Quintela, 2015/06/16
- [Qemu-devel] [PATCH 07/11] migration: Use cmpxchg correctly, Juan Quintela, 2015/06/16
- [Qemu-devel] [PATCH 10/11] migration: create migration event,
Juan Quintela <=
- [Qemu-devel] [PATCH 11/11] migration: Add migration events on target side, Juan Quintela, 2015/06/16