diff mbox

[10/11] migration: create migration event

Message ID 1434505833-11234-11-git-send-email-quintela@redhat.com
State New
Headers show

Commit Message

Juan Quintela June 17, 2015, 1:50 a.m. UTC
We have one argument that tells us what event has happened.

Signed-off-by: Juan Quintela <quintela@redhat.com>

X3

Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 docs/qmp/qmp-events.txt | 14 ++++++++++++++
 migration/migration.c   |  2 ++
 qapi/event.json         | 14 ++++++++++++++
 3 files changed, 30 insertions(+)

Comments

Eric Blake June 17, 2015, 7:45 p.m. UTC | #1
On 06/16/2015 07:50 PM, Juan Quintela wrote:
> We have one argument that tells us what event has happened.
> 
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> 
> X3
> 
> Signed-off-by: Juan Quintela <quintela@redhat.com>

Intentional double-S-o-b?

> ---
>  docs/qmp/qmp-events.txt | 14 ++++++++++++++
>  migration/migration.c   |  2 ++
>  qapi/event.json         | 14 ++++++++++++++
>  3 files changed, 30 insertions(+)
> 

> +Data: None.
> +
> + - "status": migration status
> +     See MigrationStatus in ~/qapi-scheme.json for possible values

s/scheme/schema/


> +++ 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

Drop this second sentence. 'status' is emitted unconditionally (it is
not marked optional).

With those two changes,
Reviewed-by: Eric Blake <eblake@redhat.com>
Juan Quintela July 1, 2015, 7:22 a.m. UTC | #2
Eric Blake <eblake@redhat.com> wrote:
> On 06/16/2015 07:50 PM, Juan Quintela wrote:
>> We have one argument that tells us what event has happened.
>> 
>> Signed-off-by: Juan Quintela <quintela@redhat.com>
>> 
>> X3
>> 
>> Signed-off-by: Juan Quintela <quintela@redhat.com>
>
> Intentional double-S-o-b?

No, merge artifact


>
>> ---
>>  docs/qmp/qmp-events.txt | 14 ++++++++++++++
>>  migration/migration.c   |  2 ++
>>  qapi/event.json         | 14 ++++++++++++++
>>  3 files changed, 30 insertions(+)
>> 
>
>> +Data: None.
>> +
>> + - "status": migration status
>> +     See MigrationStatus in ~/qapi-scheme.json for possible values
>
> s/scheme/schema/

fixed

>
>
>> +++ 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
>
> Drop this second sentence. 'status' is emitted unconditionally (it is
> not marked optional).
>
> With those two changes,
> Reviewed-by: Eric Blake <eblake@redhat.com>

fixed
diff mbox

Patch

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.