aboutsummaryrefslogtreecommitdiff
path: root/qapi
diff options
context:
space:
mode:
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 bc0ccd615c..9bb7f4a17b 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',