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" } }
|
||||
<- { "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
|
||||
----------------------
|
||||
Since 2.4
|
||||
|
|
|
@ -2471,6 +2471,28 @@
|
|||
# operation fails, then the entire set of actions will be abandoned and the
|
||||
# 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;
|
||||
# information needed for the respective operations.
|
||||
#
|
||||
|
@ -2479,6 +2501,7 @@
|
|||
# for additional detail.
|
||||
#
|
||||
# Returns: nothing on success
|
||||
#
|
||||
# Errors depend on the operations of the transaction
|
||||
#
|
||||
# Note: The transaction aborts on the first failure. Therefore, there will be
|
||||
|
@ -2486,6 +2509,28 @@
|
|||
# subsequent actions will not have been attempted.
|
||||
#
|
||||
# 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',
|
||||
'data': { 'actions': [ 'TransactionAction' ],
|
||||
|
|
Loading…
Reference in New Issue