From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38909) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z52VB-0005S6-LG for qemu-devel@nongnu.org; Tue, 16 Jun 2015 21:50:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z52VA-0004pa-4h for qemu-devel@nongnu.org; Tue, 16 Jun 2015 21:50:53 -0400 Received: from mx1.redhat.com ([209.132.183.28]:55696) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z52V9-0004p0-EL for qemu-devel@nongnu.org; Tue, 16 Jun 2015 21:50:51 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id 0E1C933B34F for ; Wed, 17 Jun 2015 01:50:51 +0000 (UTC) From: Juan Quintela Date: Wed, 17 Jun 2015 03:50:32 +0200 Message-Id: <1434505833-11234-11-git-send-email-quintela@redhat.com> In-Reply-To: <1434505833-11234-1-git-send-email-quintela@redhat.com> References: <1434505833-11234-1-git-send-email-quintela@redhat.com> Subject: [Qemu-devel] [PATCH 10/11] migration: create migration event List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: amit.shah@redhat.com We have one argument that tells us what event has happened. Signed-off-by: Juan Quintela X3 Signed-off-by: Juan Quintela --- 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