aboutsummaryrefslogtreecommitdiff
path: root/qapi/misc.json
diff options
context:
space:
mode:
authorPeter Krempa <pkrempa@redhat.com>2019-10-18 10:14:54 +0200
committerMarkus Armbruster <armbru@redhat.com>2019-10-22 13:54:14 +0200
commit5f76a7aac156ca75680dad5df4a385fd0b58f6b1 (patch)
treeb58eb52e5d921b4b2ad29ef941c1922034fb07c3 /qapi/misc.json
parent79598c8a634c21de9ac7b5a04c03bf4f13967191 (diff)
downloadqemu-5f76a7aac156ca75680dad5df4a385fd0b58f6b1.zip
qemu-5f76a7aac156ca75680dad5df4a385fd0b58f6b1.tar.gz
qemu-5f76a7aac156ca75680dad5df4a385fd0b58f6b1.tar.bz2
qapi: Allow introspecting fix for savevm's cooperation with blockdev
'savevm' was buggy as it considered all monitor-owned block device nodes for snapshot. With the introduction of -blockdev, the common usage made all nodes including protocol and backing file nodes be monitor-owned and thus considered for snapshot. This is a problem since the 'file' protocol nodes can't have internal snapshots and it does not make sense to take snapshot of nodes representing backing files. This was fixed by commit 05f4aced658a02b02. Clients need to be able to detect whether this fix is present. Since savevm does not have an QMP alternative, add the feature for the 'human-monitor-command' backdoor which is used to call this command in modern use. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20191018081454.21369-6-armbru@redhat.com>
Diffstat (limited to 'qapi/misc.json')
-rw-r--r--qapi/misc.json9
1 files changed, 8 insertions, 1 deletions
diff --git a/qapi/misc.json b/qapi/misc.json
index 6bd11f5..33b94e3 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -1020,6 +1020,12 @@
#
# @cpu-index: The CPU to use for commands that require an implicit CPU
#
+# Features:
+# @savevm-monitor-nodes: If present, HMP command savevm only snapshots
+# monitor-owned nodes if they have no parents.
+# This allows the use of 'savevm' with
+# -blockdev. (since 4.2)
+#
# Returns: the output of the command as a string
#
# Since: 0.14.0
@@ -1047,7 +1053,8 @@
##
{ 'command': 'human-monitor-command',
'data': {'command-line': 'str', '*cpu-index': 'int'},
- 'returns': 'str' }
+ 'returns': 'str',
+ 'features': [ 'savevm-monitor-nodes' ] }
##
# @change: