summaryrefslogtreecommitdiff
path: root/qapi-schema.json
diff options
context:
space:
mode:
authorWenchao Xia <xiawenc@linux.vnet.ibm.com>2013-09-11 14:04:34 +0800
committerKevin Wolf <kwolf@redhat.com>2013-09-12 10:12:47 +0200
commitbbe860104f0544d7863296606e042cc62bf7ab4b (patch)
tree2d6b813d3525433baa1f1fa8cd3516c913644f08 /qapi-schema.json
parenta89d89d3e65800fa4a8e00de7af0ea8272bef779 (diff)
downloadqemu-bbe860104f0544d7863296606e042cc62bf7ab4b.tar.gz
qmp: add internal snapshot support in qmp_transaction
Unlike savevm, the qmp_transaction interface will not generate snapshot name automatically, saving trouble to return information of the new created snapshot. Although qcow2 support storing multiple snapshots with same name but different ID, here it will fail when an snapshot with that name already exist before the operation. Format such as rbd do not support ID at all, and in most case, it means trouble to user when he faces multiple snapshots with same name, so ban that case. Request with empty name will be rejected. Snapshot ID can't be specified in this interface. Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'qapi-schema.json')
-rw-r--r--qapi-schema.json19
1 files changed, 18 insertions, 1 deletions
diff --git a/qapi-schema.json b/qapi-schema.json
index 2b2c8bce07..77bbbf59cf 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -1686,6 +1686,22 @@
'*mode': 'NewImageMode' } }
##
+# @BlockdevSnapshotInternal
+#
+# @device: the name of the device to generate the snapshot from
+#
+# @name: the name of the internal snapshot to be created
+#
+# Notes: In transaction, if @name is empty, or any snapshot matching @name
+# exists, the operation will fail. Only some image formats support it,
+# for example, qcow2, rbd, and sheepdog.
+#
+# Since: 1.7
+##
+{ 'type': 'BlockdevSnapshotInternal',
+ 'data': { 'device': 'str', 'name': 'str' } }
+
+##
# @DriveBackup
#
# @device: the name of the device which should be copied.
@@ -1747,7 +1763,8 @@
'data': {
'blockdev-snapshot-sync': 'BlockdevSnapshot',
'drive-backup': 'DriveBackup',
- 'abort': 'Abort'
+ 'abort': 'Abort',
+ 'blockdev-snapshot-internal-sync': 'BlockdevSnapshotInternal'
} }
##