mirror of https://github.com/xemu-project/xemu.git
qmp-commands: move 'transaction' doc to schema
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
7b338db7ef
commit
5c82b0f198
|
@ -699,92 +699,6 @@ Example:
|
||||||
"target": "tgt-id" } }
|
"target": "tgt-id" } }
|
||||||
<- { "return": {} }
|
<- { "return": {} }
|
||||||
|
|
||||||
transaction
|
|
||||||
-----------
|
|
||||||
|
|
||||||
Atomically operate on one or more block devices. Operations that are
|
|
||||||
currently supported:
|
|
||||||
|
|
||||||
- drive-backup
|
|
||||||
- blockdev-backup
|
|
||||||
- blockdev-snapshot-sync
|
|
||||||
- blockdev-snapshot-internal-sync
|
|
||||||
- abort
|
|
||||||
- block-dirty-bitmap-add
|
|
||||||
- block-dirty-bitmap-clear
|
|
||||||
|
|
||||||
Refer to the qemu/qapi-schema.json file for minimum required QEMU
|
|
||||||
versions for these operations. A list of dictionaries is accepted,
|
|
||||||
that contains the actions to be performed. If there is any failure
|
|
||||||
performing any of the operations, all operations for the group are
|
|
||||||
abandoned.
|
|
||||||
|
|
||||||
For external snapshots, the dictionary contains the device, the file to use for
|
|
||||||
the new snapshot, and the format. The default format, if not specified, is
|
|
||||||
qcow2.
|
|
||||||
|
|
||||||
Each new snapshot defaults to being created by QEMU (wiping any
|
|
||||||
contents if the file already exists), but it is also possible to reuse
|
|
||||||
an externally-created file. In the latter case, you should ensure that
|
|
||||||
the new image file has the same contents as the current one; QEMU cannot
|
|
||||||
perform any meaningful check. Typically this is achieved by using the
|
|
||||||
current image file as the backing file for the new image.
|
|
||||||
|
|
||||||
On failure, the original disks pre-snapshot attempt will be used.
|
|
||||||
|
|
||||||
For internal snapshots, the dictionary contains the device and the snapshot's
|
|
||||||
name. If an internal snapshot matching name already exists, the request will
|
|
||||||
be rejected. Only some image formats support it, for example, qcow2, rbd,
|
|
||||||
and sheepdog.
|
|
||||||
|
|
||||||
On failure, qemu will try delete the newly created internal snapshot in the
|
|
||||||
transaction. When an I/O error occurs during deletion, the user needs to fix
|
|
||||||
it later with qemu-img or other command.
|
|
||||||
|
|
||||||
Arguments:
|
|
||||||
|
|
||||||
actions array:
|
|
||||||
- "type": the operation to perform (json-string). Possible
|
|
||||||
values: "drive-backup", "blockdev-backup",
|
|
||||||
"blockdev-snapshot-sync",
|
|
||||||
"blockdev-snapshot-internal-sync",
|
|
||||||
"abort", "block-dirty-bitmap-add",
|
|
||||||
"block-dirty-bitmap-clear"
|
|
||||||
- "data": a dictionary. The contents depend on the value
|
|
||||||
of "type". When "type" is "blockdev-snapshot-sync":
|
|
||||||
- "device": device name to snapshot (json-string)
|
|
||||||
- "node-name": graph node name to snapshot (json-string)
|
|
||||||
- "snapshot-file": name of new image file (json-string)
|
|
||||||
- "snapshot-node-name": graph node name of the new snapshot (json-string)
|
|
||||||
- "format": format of new image (json-string, optional)
|
|
||||||
- "mode": whether and how QEMU should create the snapshot file
|
|
||||||
(NewImageMode, optional, default "absolute-paths")
|
|
||||||
When "type" is "blockdev-snapshot-internal-sync":
|
|
||||||
- "device": the device name or node-name of a root node to snapshot
|
|
||||||
(json-string)
|
|
||||||
- "name": name of the new snapshot (json-string)
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
-> { "execute": "transaction",
|
|
||||||
"arguments": { "actions": [
|
|
||||||
{ "type": "blockdev-snapshot-sync", "data" : { "device": "ide-hd0",
|
|
||||||
"snapshot-file": "/some/place/my-image",
|
|
||||||
"format": "qcow2" } },
|
|
||||||
{ "type": "blockdev-snapshot-sync", "data" : { "node-name": "myfile",
|
|
||||||
"snapshot-file": "/some/place/my-image2",
|
|
||||||
"snapshot-node-name": "node3432",
|
|
||||||
"mode": "existing",
|
|
||||||
"format": "qcow2" } },
|
|
||||||
{ "type": "blockdev-snapshot-sync", "data" : { "device": "ide-hd1",
|
|
||||||
"snapshot-file": "/some/place/my-image2",
|
|
||||||
"mode": "existing",
|
|
||||||
"format": "qcow2" } },
|
|
||||||
{ "type": "blockdev-snapshot-internal-sync", "data" : {
|
|
||||||
"device": "ide-hd2",
|
|
||||||
"name": "snapshot0" } } ] } }
|
|
||||||
<- { "return": {} }
|
|
||||||
|
|
||||||
block-dirty-bitmap-add
|
block-dirty-bitmap-add
|
||||||
----------------------
|
----------------------
|
||||||
Since 2.4
|
Since 2.4
|
||||||
|
|
|
@ -2471,6 +2471,28 @@
|
||||||
# operation fails, then the entire set of actions will be abandoned and the
|
# operation fails, then the entire set of actions will be abandoned and the
|
||||||
# appropriate error returned.
|
# appropriate error returned.
|
||||||
#
|
#
|
||||||
|
# For external snapshots, the dictionary contains the device, the file to use for
|
||||||
|
# the new snapshot, and the format. The default format, if not specified, is
|
||||||
|
# qcow2.
|
||||||
|
#
|
||||||
|
# Each new snapshot defaults to being created by QEMU (wiping any
|
||||||
|
# contents if the file already exists), but it is also possible to reuse
|
||||||
|
# an externally-created file. In the latter case, you should ensure that
|
||||||
|
# the new image file has the same contents as the current one; QEMU cannot
|
||||||
|
# perform any meaningful check. Typically this is achieved by using the
|
||||||
|
# current image file as the backing file for the new image.
|
||||||
|
#
|
||||||
|
# On failure, the original disks pre-snapshot attempt will be used.
|
||||||
|
#
|
||||||
|
# For internal snapshots, the dictionary contains the device and the snapshot's
|
||||||
|
# name. If an internal snapshot matching name already exists, the request will
|
||||||
|
# be rejected. Only some image formats support it, for example, qcow2, rbd,
|
||||||
|
# and sheepdog.
|
||||||
|
#
|
||||||
|
# On failure, qemu will try delete the newly created internal snapshot in the
|
||||||
|
# transaction. When an I/O error occurs during deletion, the user needs to fix
|
||||||
|
# it later with qemu-img or other command.
|
||||||
|
#
|
||||||
# @actions: List of @TransactionAction;
|
# @actions: List of @TransactionAction;
|
||||||
# information needed for the respective operations.
|
# information needed for the respective operations.
|
||||||
#
|
#
|
||||||
|
@ -2479,6 +2501,7 @@
|
||||||
# for additional detail.
|
# for additional detail.
|
||||||
#
|
#
|
||||||
# Returns: nothing on success
|
# Returns: nothing on success
|
||||||
|
#
|
||||||
# Errors depend on the operations of the transaction
|
# Errors depend on the operations of the transaction
|
||||||
#
|
#
|
||||||
# Note: The transaction aborts on the first failure. Therefore, there will be
|
# Note: The transaction aborts on the first failure. Therefore, there will be
|
||||||
|
@ -2486,6 +2509,28 @@
|
||||||
# subsequent actions will not have been attempted.
|
# subsequent actions will not have been attempted.
|
||||||
#
|
#
|
||||||
# Since: 1.1
|
# Since: 1.1
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
#
|
||||||
|
# -> { "execute": "transaction",
|
||||||
|
# "arguments": { "actions": [
|
||||||
|
# { "type": "blockdev-snapshot-sync", "data" : { "device": "ide-hd0",
|
||||||
|
# "snapshot-file": "/some/place/my-image",
|
||||||
|
# "format": "qcow2" } },
|
||||||
|
# { "type": "blockdev-snapshot-sync", "data" : { "node-name": "myfile",
|
||||||
|
# "snapshot-file": "/some/place/my-image2",
|
||||||
|
# "snapshot-node-name": "node3432",
|
||||||
|
# "mode": "existing",
|
||||||
|
# "format": "qcow2" } },
|
||||||
|
# { "type": "blockdev-snapshot-sync", "data" : { "device": "ide-hd1",
|
||||||
|
# "snapshot-file": "/some/place/my-image2",
|
||||||
|
# "mode": "existing",
|
||||||
|
# "format": "qcow2" } },
|
||||||
|
# { "type": "blockdev-snapshot-internal-sync", "data" : {
|
||||||
|
# "device": "ide-hd2",
|
||||||
|
# "name": "snapshot0" } } ] } }
|
||||||
|
# <- { "return": {} }
|
||||||
|
#
|
||||||
##
|
##
|
||||||
{ 'command': 'transaction',
|
{ 'command': 'transaction',
|
||||||
'data': { 'actions': [ 'TransactionAction' ],
|
'data': { 'actions': [ 'TransactionAction' ],
|
||||||
|
|
Loading…
Reference in New Issue