aboutsummaryrefslogtreecommitdiff
path: root/qapi
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2017-03-08 09:47:52 +0000
committerPeter Maydell <peter.maydell@linaro.org>2017-03-08 09:47:52 +0000
commitb64842dee42d6b24d51283e4722140b73be1e222 (patch)
treebf3bc697e005203002392d691784c34813a17cf5 /qapi
parent87467097f8811258cd91d42c141a7bd8492ed08a (diff)
parentb69f00dde490e88d55f5ee731545e690b2dc61f8 (diff)
downloadqemu-b64842dee42d6b24d51283e4722140b73be1e222.zip
qemu-b64842dee42d6b24d51283e4722140b73be1e222.tar.gz
qemu-b64842dee42d6b24d51283e4722140b73be1e222.tar.bz2
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block layer fixes for 2.9.0-rc0 # gpg: Signature made Tue 07 Mar 2017 14:59:18 GMT # gpg: using RSA key 0x7F09B272C88F2FD6 # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6 * remotes/kevin/tags/for-upstream: (27 commits) commit: Don't use error_abort in commit_start block: Don't use error_abort in blk_new_open sheepdog: Support blockdev-add qapi-schema: Rename SocketAddressFlat's variant tcp to inet qapi-schema: Rename GlusterServer to SocketAddressFlat gluster: Plug memory leaks in qemu_gluster_parse_json() gluster: Don't duplicate qapi-util.c's qapi_enum_parse() gluster: Drop assumptions on SocketTransport names sheepdog: Implement bdrv_parse_filename() sheepdog: Use SocketAddress and socket_connect() sheepdog: Report errors in pseudo-filename more usefully sheepdog: Don't truncate long VDI name in _open(), _create() sheepdog: Fix snapshot ID parsing in _open(), _create, _goto() sheepdog: Mark sd_snapshot_delete() lossage FIXME sheepdog: Fix error handling sd_create() sheepdog: Fix error handling in sd_snapshot_delete() sheepdog: Defuse time bomb in sd_open() error handling block: Fix error handling in bdrv_replace_in_backing_chain() block: Handle permission errors in change_parent_backing_link() block: Ignore multiple children in bdrv_check_update_perm() ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'qapi')
-rw-r--r--qapi/block-core.json73
1 files changed, 25 insertions, 48 deletions
diff --git a/qapi/block-core.json b/qapi/block-core.json
index bc0ccd6..9bb7f4a 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -2124,6 +2124,7 @@
# @ssh: Since 2.8
# @iscsi: Since 2.9
# @rbd: Since 2.9
+# @sheepdog: Since 2.9
#
# Since: 2.0
##
@@ -2132,8 +2133,8 @@
'dmg', 'file', 'ftp', 'ftps', 'gluster', 'host_cdrom',
'host_device', 'http', 'https', 'iscsi', 'luks', 'nbd', 'nfs',
'null-aio', 'null-co', 'parallels', 'qcow', 'qcow2', 'qed',
- 'quorum', 'raw', 'rbd', 'replication', 'ssh', 'vdi', 'vhdx', 'vmdk',
- 'vpc', 'vvfat' ] }
+ 'quorum', 'raw', 'rbd', 'replication', 'sheepdog', 'ssh',
+ 'vdi', 'vhdx', 'vmdk', 'vpc', 'vvfat' ] }
##
# @BlockdevOptionsFile:
@@ -2546,50 +2547,6 @@
'*read-pattern': 'QuorumReadPattern' } }
##
-# @GlusterTransport:
-#
-# An enumeration of Gluster transport types
-#
-# @tcp: TCP - Transmission Control Protocol
-#
-# @unix: UNIX - Unix domain socket
-#
-# Since: 2.7
-##
-{ 'enum': 'GlusterTransport',
- 'data': [ 'unix', 'tcp' ] }
-
-
-##
-# @GlusterServer:
-#
-# Captures the address of a socket
-#
-# Details for connecting to a gluster server
-#
-# @type: Transport type used for gluster connection
-#
-# This is similar to SocketAddress, only distinction:
-#
-# 1. GlusterServer is a flat union, SocketAddress is a simple union.
-# A flat union is nicer than simple because it avoids nesting
-# (i.e. more {}) on the wire.
-#
-# 2. GlusterServer lacks case 'fd', since gluster doesn't let you
-# pass in a file descriptor.
-#
-# GlusterServer is actually not Gluster-specific, its a
-# compatibility evolved into an alternate for SocketAddress.
-#
-# Since: 2.7
-##
-{ 'union': 'GlusterServer',
- 'base': { 'type': 'GlusterTransport' },
- 'discriminator': 'type',
- 'data': { 'unix': 'UnixSocketAddress',
- 'tcp': 'InetSocketAddress' } }
-
-##
# @BlockdevOptionsGluster:
#
# Driver specific block device options for Gluster
@@ -2610,7 +2567,7 @@
{ 'struct': 'BlockdevOptionsGluster',
'data': { 'volume': 'str',
'path': 'str',
- 'server': ['GlusterServer'],
+ 'server': ['SocketAddressFlat'],
'*debug': 'int',
'*logfile': 'str' } }
@@ -2736,6 +2693,26 @@
'*password-secret': 'str' } }
##
+# @BlockdevOptionsSheepdog:
+#
+# Driver specific block device options for sheepdog
+#
+# @vdi: Virtual disk image name
+# @addr: The Sheepdog server to connect to
+# @snap-id: Snapshot ID
+# @tag: Snapshot tag name
+#
+# Only one of @snap-id and @tag may be present.
+#
+# Since: 2.9
+##
+{ 'struct': 'BlockdevOptionsSheepdog',
+ 'data': { 'addr': 'SocketAddressFlat',
+ 'vdi': 'str',
+ '*snap-id': 'uint32',
+ '*tag': 'str' } }
+
+##
# @ReplicationMode:
#
# An enumeration of replication modes.
@@ -2935,7 +2912,7 @@
'raw': 'BlockdevOptionsRaw',
'rbd': 'BlockdevOptionsRbd',
'replication':'BlockdevOptionsReplication',
-# TODO sheepdog: Wait for structured options
+ 'sheepdog': 'BlockdevOptionsSheepdog',
'ssh': 'BlockdevOptionsSsh',
'vdi': 'BlockdevOptionsGenericFormat',
'vhdx': 'BlockdevOptionsGenericFormat',