Commit ad0e90a6 authored by Ashijeet Acharya's avatar Ashijeet Acharya Committed by Kevin Wolf
Browse files

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: default avatarAshijeet Acharya <ashijeetacharya@gmail.com>
Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
[ 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: default avatarKevin Wolf <kwolf@redhat.com>
parent 1059f1bb
Loading
Loading
Loading
Loading
+23 −3
Original line number Diff line number Diff line
@@ -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',