From ad0e90a682280030af81ece502715f64232706db Mon Sep 17 00:00:00 2001 From: Ashijeet Acharya Date: Tue, 25 Oct 2016 18:34:01 +0530 Subject: [PATCH] qapi: allow blockdev-add for ssh Introduce new object 'BlockdevOptionsSsh' in qapi/block-core.json to support blockdev-add for SSH network protocol driver. Use only 'struct InetSocketAddress' since SSH only supports connection over TCP. Signed-off-by: Ashijeet Acharya Reviewed-by: Kevin Wolf [ kwolf: Removed host_key_check option, we want to expose this later in a structured way rather than as a string that must be parsed ] Signed-off-by: Kevin Wolf --- qapi/block-core.json | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/qapi/block-core.json b/qapi/block-core.json index cd1fa7ba07..0f2b7032fc 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -1703,7 +1703,7 @@ # # @host_device, @host_cdrom: Since 2.1 # @gluster: Since 2.7 -# @nbd: Since 2.8 +# @nbd, @ssh: Since 2.8 # # Since: 2.0 ## @@ -1712,7 +1712,8 @@ 'dmg', 'file', 'ftp', 'ftps', 'gluster', 'host_cdrom', 'host_device', 'http', 'https', 'luks', 'nbd', 'null-aio', 'null-co', 'parallels', 'qcow', 'qcow2', 'qed', 'quorum', 'raw', - 'replication', 'tftp', 'vdi', 'vhdx', 'vmdk', 'vpc', 'vvfat' ] } + 'replication', 'ssh', 'tftp', 'vdi', 'vhdx', 'vmdk', 'vpc', + 'vvfat' ] } ## # @BlockdevOptionsFile @@ -1949,6 +1950,25 @@ '*vport': 'int', '*segment': 'str' } } +## +# @BlockdevOptionsSsh +# +# @server: host address +# +# @path: path to the image on the host +# +# @user: #optional user as which to connect, defaults to current +# local user name +# +# TODO: Expose the host_key_check option in QMP +# +# Since 2.8 +## +{ 'struct': 'BlockdevOptionsSsh', + 'data': { 'server': 'InetSocketAddress', + 'path': 'str', + '*user': 'str' } } + ## # @BlkdebugEvent @@ -2296,7 +2316,7 @@ # TODO rbd: Wait for structured options 'replication':'BlockdevOptionsReplication', # TODO sheepdog: Wait for structured options -# TODO ssh: Should take InetSocketAddress for 'host'? + 'ssh': 'BlockdevOptionsSsh', 'tftp': 'BlockdevOptionsCurl', 'vdi': 'BlockdevOptionsGenericFormat', 'vhdx': 'BlockdevOptionsGenericFormat',