diff options
author | Kevin Wolf | 2017-06-27 17:18:20 +0200 |
---|---|---|
committer | Kevin Wolf | 2018-09-25 15:50:15 +0200 |
commit | 3c605f4074ebeb97970eb660fb56a9cb06525923 (patch) | |
tree | 86d21a89f96833b8c6100aa6d651ffebac67e0d1 /qapi | |
parent | blockdev: document transactional shortcomings (diff) | |
download | qemu-3c605f4074ebeb97970eb660fb56a9cb06525923.tar.gz qemu-3c605f4074ebeb97970eb660fb56a9cb06525923.tar.xz qemu-3c605f4074ebeb97970eb660fb56a9cb06525923.zip |
commit: Add top-node/base-node options
The block-commit QMP command required specifying the top and base nodes
of the commit jobs using the file name of that node. While this works
in simple cases (local files with absolute paths), the file names
generated for more complicated setups can be hard to predict.
The block-commit command has more problems than just this, so we want to
replace it altogether in the long run, but libvirt needs a reliable way
to address nodes now. So we don't want to wait for a new, cleaner
command, but just add the minimal thing needed right now.
This adds two new options top-node and base-node to the command, which
allow specifying node names instead. They are mutually exclusive with
the old options.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'qapi')
-rw-r--r-- | qapi/block-core.json | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/qapi/block-core.json b/qapi/block-core.json index c0b3d33dbb..ac3b48ee54 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -1457,12 +1457,23 @@ # # @device: the device name or node-name of a root node # -# @base: The file name of the backing image to write data into. -# If not specified, this is the deepest backing image. +# @base-node: The node name of the backing image to write data into. +# If not specified, this is the deepest backing image. +# (since: 3.1) # -# @top: The file name of the backing image within the image chain, -# which contains the topmost data to be committed down. If -# not specified, this is the active layer. +# @base: Same as @base-node, except that it is a file name rather than a node +# name. This must be the exact filename string that was used to open the +# node; other strings, even if addressing the same file, are not +# accepted (deprecated, use @base-node instead) +# +# @top-node: The node name of the backing image within the image chain +# which contains the topmost data to be committed down. If +# not specified, this is the active layer. (since: 3.1) +# +# @top: Same as @top-node, except that it is a file name rather than a node +# name. This must be the exact filename string that was used to open the +# node; other strings, even if addressing the same file, are not +# accepted (deprecated, use @base-node instead) # # @backing-file: The backing file string to write into the overlay # image of 'top'. If 'top' is the active layer, @@ -1528,7 +1539,8 @@ # ## { 'command': 'block-commit', - 'data': { '*job-id': 'str', 'device': 'str', '*base': 'str', '*top': 'str', + 'data': { '*job-id': 'str', 'device': 'str', '*base-node': 'str', + '*base': 'str', '*top-node': 'str', '*top': 'str', '*backing-file': 'str', '*speed': 'int', '*filter-node-name': 'str', '*auto-finalize': 'bool', '*auto-dismiss': 'bool' } } |