cprexec calls cprexec(). Syntax:
{ 'command': 'cprexec', 'data': { 'argv': [ 'str' ] } }
Add the restart mode:
{ 'enum': 'CprMode', 'data': [ 'reboot', 'restart' ] }
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
---
monitor/qmp-cmds.c | 5 +++++
qapi/cpr.json | 16 +++++++++++++++-
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/monitor/qmp-cmds.c b/monitor/qmp-cmds.c
index 1128604..7326f7d 100644
--- a/monitor/qmp-cmds.c
+++ b/monitor/qmp-cmds.c
@@ -179,6 +179,11 @@ void qmp_cprsave(const char *file, CprMode mode, Error **errp)
cprsave(file, mode, errp);
}
+void qmp_cprexec(strList *args, Error **errp)
+{
+ cprexec(args, errp);
+}
+
void qmp_cprload(const char *file, Error **errp)
{
cprload(file, errp);
diff --git a/qapi/cpr.json b/qapi/cpr.json
index b6fdc89..2467e48 100644
--- a/qapi/cpr.json
+++ b/qapi/cpr.json
@@ -16,10 +16,12 @@
#
# @reboot: checkpoint can be cprload'ed after a host kexec reboot.
#
+# @restart: checkpoint can be cprload'ed after restarting qemu.
+#
# Since: 6.1
##
{ 'enum': 'CprMode',
- 'data': [ 'reboot' ] }
+ 'data': [ 'reboot', 'restart' ] }
##
@@ -61,6 +63,18 @@
'mode': 'CprMode' } }
##
+# @cprexec:
+#
+# Restart qemu.
+#
+# @argv: arguments to exec
Why is it not then called cpr-restart ? Why does it take the whole argv? Could argv be made optional?
+#
+# Since: 6.1
+##
+{ 'command': 'cprexec',
+ 'data': { 'argv': [ 'str' ] } }
+
+##
# @cprload:
#
# Start virtual machine from checkpoint file that was created earlier using
--
1.8.3.1