diff options
author | Alberto Garcia <berto@igalia.com> | 2015-11-02 16:51:55 +0200 |
---|---|---|
committer | Max Reitz <mreitz@redhat.com> | 2015-11-11 16:55:28 +0100 |
commit | 81b936ae70e635557af9ca80922ee69146cb5f4c (patch) | |
tree | 5f0e78e898987584d69ebe045f0c31825fd515f4 /qapi | |
parent | f636ae85f3db8ffb987c79715869dba1b8217e8a (diff) | |
download | qemu-81b936ae70e635557af9ca80922ee69146cb5f4c.zip qemu-81b936ae70e635557af9ca80922ee69146cb5f4c.tar.gz qemu-81b936ae70e635557af9ca80922ee69146cb5f4c.tar.bz2 |
block: Add 'x-blockdev-del' QMP command
This command is still experimental, hence the name.
This is the companion to 'blockdev-add'. It allows deleting a
BlockBackend with its associated BlockDriverState tree, or a
BlockDriverState that is not attached to any backend.
In either case, the command fails if the reference count is greater
than 1 or the BlockDriverState has any parents.
Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-id: 6cfc148c77aca1da942b094d811bfa3fcf7ac7bb.1446475331.git.berto@igalia.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'qapi')
-rw-r--r-- | qapi/block-core.json | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/qapi/block-core.json b/qapi/block-core.json index 083d2cd..470e86c 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -1895,8 +1895,8 @@ # level and no BlockBackend will be created. # # This command is still a work in progress. It doesn't support all -# block drivers, it lacks a matching blockdev-del, and more. Stay -# away from it unless you want to help with its development. +# block drivers among other things. Stay away from it unless you want +# to help with its development. # # @options: block device options for the new device # @@ -1905,6 +1905,34 @@ { 'command': 'blockdev-add', 'data': { 'options': 'BlockdevOptions' } } ## +# @x-blockdev-del: +# +# Deletes a block device that has been added using blockdev-add. +# The selected device can be either a block backend or a graph node. +# +# In the former case the backend will be destroyed, along with its +# inserted medium if there's any. The command will fail if the backend +# or its medium are in use. +# +# In the latter case the node will be destroyed. The command will fail +# if the node is attached to a block backend or is otherwise being +# used. +# +# One of @id or @node-name must be specified, but not both. +# +# This command is still a work in progress and is considered +# experimental. Stay away from it unless you want to help with its +# development. +# +# @id: #optional Name of the block backend device to delete. +# +# @node-name: #optional Name of the graph node to delete. +# +# Since: 2.5 +## +{ 'command': 'x-blockdev-del', 'data': { '*id': 'str', '*node-name': 'str' } } + +## # @blockdev-open-tray: # # Opens a block device's tray. If there is a block driver state tree inserted as |