Patchwork [v14,2/4] add a new qevent: QEVENT_GUEST_PANICKED

login
register
mail settings
Submitter Hu Tao
Date March 14, 2013, 8:15 a.m.
Message ID <6c31b1535b0e2beb6b099831b9c71b6168b6201f.1363243596.git.hutao@cn.fujitsu.com>
Download mbox | patch
Permalink /patch/227476/
State New
Headers show

Comments

Hu Tao - March 14, 2013, 8:15 a.m.
This event will be emited when the guest is panicked.

Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
---
 QMP/qmp-events.txt        | 14 ++++++++++++++
 include/monitor/monitor.h |  1 +
 monitor.c                 |  1 +
 3 files changed, 16 insertions(+)
Markus Armbruster - March 20, 2013, 9:04 a.m.
Hu Tao <hutao@cn.fujitsu.com> writes:

> This event will be emited when the guest is panicked.
>
> Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
> Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
> ---
>  QMP/qmp-events.txt        | 14 ++++++++++++++
>  include/monitor/monitor.h |  1 +
>  monitor.c                 |  1 +
>  3 files changed, 16 insertions(+)
>
> diff --git a/QMP/qmp-events.txt b/QMP/qmp-events.txt
> index b2698e4..62fffad 100644
> --- a/QMP/qmp-events.txt
> +++ b/QMP/qmp-events.txt
> @@ -428,3 +428,17 @@ Example:
>  
>  Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
>  followed respectively by the RESET, SHUTDOWN, or STOP events.
> +
> +GUEST_PANICKED
> +--------------
> +
> +Emitted when the guest OS is panicked.

This suggests we reliably emit the event on guest panic.  That's not
accurate; we emit it only when the guest manages to tell us.  Better
clarify.  Perhaps "Emitted when we detect a guest OS panic" suffices.

> +
> +Data:
> +
> +- "action": Action that has been taken. Currently it's always "pause".

Please make that

- "action": Action that has been taken (json-string, currently always "pause")

> +
> +Example:
> +
> +{ "event": "GUEST_PANICKED",
> +     "data": { "action": "pause" } }
> diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h
> index 87fb49c..4006905 100644
> --- a/include/monitor/monitor.h
> +++ b/include/monitor/monitor.h
> @@ -45,6 +45,7 @@ typedef enum MonitorEvent {
>      QEVENT_WAKEUP,
>      QEVENT_BALLOON_CHANGE,
>      QEVENT_SPICE_MIGRATE_COMPLETED,
> +    QEVENT_GUEST_PANICKED,
>  
>      /* Add to 'monitor_event_names' array in monitor.c when
>       * defining new events here */
> diff --git a/monitor.c b/monitor.c
> index 32a6e74..5b7d7f9 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -463,6 +463,7 @@ static const char *monitor_event_names[] = {
>      [QEVENT_WAKEUP] = "WAKEUP",
>      [QEVENT_BALLOON_CHANGE] = "BALLOON_CHANGE",
>      [QEVENT_SPICE_MIGRATE_COMPLETED] = "SPICE_MIGRATE_COMPLETED",
> +    [QEVENT_GUEST_PANICKED] = "GUEST_PANICKED",
>  };
>  QEMU_BUILD_BUG_ON(ARRAY_SIZE(monitor_event_names) != QEVENT_MAX)

Patch

diff --git a/QMP/qmp-events.txt b/QMP/qmp-events.txt
index b2698e4..62fffad 100644
--- a/QMP/qmp-events.txt
+++ b/QMP/qmp-events.txt
@@ -428,3 +428,17 @@  Example:
 
 Note: If action is "reset", "shutdown", or "pause" the WATCHDOG event is
 followed respectively by the RESET, SHUTDOWN, or STOP events.
+
+GUEST_PANICKED
+--------------
+
+Emitted when the guest OS is panicked.
+
+Data:
+
+- "action": Action that has been taken. Currently it's always "pause".
+
+Example:
+
+{ "event": "GUEST_PANICKED",
+     "data": { "action": "pause" } }
diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h
index 87fb49c..4006905 100644
--- a/include/monitor/monitor.h
+++ b/include/monitor/monitor.h
@@ -45,6 +45,7 @@  typedef enum MonitorEvent {
     QEVENT_WAKEUP,
     QEVENT_BALLOON_CHANGE,
     QEVENT_SPICE_MIGRATE_COMPLETED,
+    QEVENT_GUEST_PANICKED,
 
     /* Add to 'monitor_event_names' array in monitor.c when
      * defining new events here */
diff --git a/monitor.c b/monitor.c
index 32a6e74..5b7d7f9 100644
--- a/monitor.c
+++ b/monitor.c
@@ -463,6 +463,7 @@  static const char *monitor_event_names[] = {
     [QEVENT_WAKEUP] = "WAKEUP",
     [QEVENT_BALLOON_CHANGE] = "BALLOON_CHANGE",
     [QEVENT_SPICE_MIGRATE_COMPLETED] = "SPICE_MIGRATE_COMPLETED",
+    [QEVENT_GUEST_PANICKED] = "GUEST_PANICKED",
 };
 QEMU_BUILD_BUG_ON(ARRAY_SIZE(monitor_event_names) != QEVENT_MAX)