[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/4] qmp: Allow setting -action parameters on the fly
From: |
Alejandro Jimenez |
Subject: |
[PATCH 3/4] qmp: Allow setting -action parameters on the fly |
Date: |
Tue, 8 Dec 2020 14:14:49 -0500 |
Add QMP commands to allow for the behaviors specified by the
-action event=action command line option to be set at runtime,
mimicking the watchdog-set-action QMP command.
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Reviewed-by: Liam Merwick <liam.merwick@oracle.com>
---
qapi/run-state.json | 27 +++++++++++++++++++++++++++
softmmu/runstate-action.c | 6 +++---
2 files changed, 30 insertions(+), 3 deletions(-)
diff --git a/qapi/run-state.json b/qapi/run-state.json
index 27b62ce..de27516 100644
--- a/qapi/run-state.json
+++ b/qapi/run-state.json
@@ -451,6 +451,33 @@
{ 'command': 'watchdog-set-action', 'data' : {'action': 'WatchdogAction'} }
##
+# @reboot-set-action:
+#
+# Set reboot action
+#
+# Since: 6.0
+##
+{ 'command': 'reboot-set-action', 'data' : {'action': 'RebootAction'} }
+
+##
+# @shutdown-set-action:
+#
+# Set shutdown action
+#
+# Since: 6.0
+##
+{ 'command': 'shutdown-set-action', 'data' : {'action': 'ShutdownAction'} }
+
+##
+# @panic-set-action:
+#
+# Set panic action
+#
+# Since: 6.0
+##
+{ 'command': 'panic-set-action', 'data' : {'action': 'PanicAction'} }
+
+##
# @GUEST_PANICKED:
#
# Emitted when guest OS panic is detected
diff --git a/softmmu/runstate-action.c b/softmmu/runstate-action.c
index 9c92595..aef23b8 100644
--- a/softmmu/runstate-action.c
+++ b/softmmu/runstate-action.c
@@ -29,7 +29,7 @@ static void runstate_action_help(void)
* Set the internal state to react to a guest reboot event
* as specified by the action parameter.
*/
-static void qmp_reboot_set_action(RebootAction act, Error **errp)
+void qmp_reboot_set_action(RebootAction act, Error **errp)
{
switch (act) {
case REBOOT_ACTION_NONE:
@@ -47,7 +47,7 @@ static void qmp_reboot_set_action(RebootAction act, Error
**errp)
* Set the internal state to react to a guest shutdown event
* as specified by the action parameter.
*/
-static void qmp_shutdown_set_action(ShutdownAction act, Error **errp)
+void qmp_shutdown_set_action(ShutdownAction act, Error **errp)
{
switch (act) {
case SHUTDOWN_ACTION_PAUSE:
@@ -65,7 +65,7 @@ static void qmp_shutdown_set_action(ShutdownAction act, Error
**errp)
* Set the internal state to react to a guest panic event
* as specified by the action parameter.
*/
-static void qmp_panic_set_action(PanicAction action, Error **errp)
+void qmp_panic_set_action(PanicAction action, Error **errp)
{
switch (action) {
case PANIC_ACTION_NONE:
--
1.8.3.1