Previously posted series patches: v1: http://lists.nongnu.org/archive/html/qemu-devel/2016-10/msg02137.html
This series adds blockdev-add support for SSH block driver. This patch series has an additional patch 'Patch 3'. Patch 1 prepares the code for the addition of a new option prefix, which is "server.". This is accomplished by adding a ssh_has_filename_options_conflict() function which helps to iterate over the various options and check for conflict. Patch 2 first adds InetSocketAddress compatibility to SSH block driver and then makes it accept a InetSocketAddress under the "server" option. The old options "host" and "port" are supported as legacy options and then translated to the respective InetSocketAddress representation. Patch 3 makes use of inet_connect_saddr() instead of inet_connect() to establish socket connection. Patch 4 drops the usage of "host" and "port" outside of ssh_has_filename_options_conflict() and ssh_process_legacy_socket_options() functions in order to make them legacy options completely. Patch 5 helps to allow blockdev-add support for the SSH block driver by making the SSH option available. *** This series depends on the following patch: *** "qdict: implement a qdict_crumple method for un-flattening a dict" from Daniel's "QAPI/QOM work for non-scalar object properties" series. Changes in v2: - Use strstart() instead of strcmp() (Kevin) - Use qobject_input_visitor_new_autocast() instead of qmp_input_visitor_new() and change header files accordingly (Kevin) - Use inet_connect_saddr() instead of inet_connect() (Kevin) - Drop the contruction of <host>:<port> string (Kevin) - Fix the bug in ssh_process_legacy_socket_options() Ashijeet Acharya (5): block/ssh: Add ssh_has_filename_options_conflict() block/ssh: Add InetSocketAddress and accept it block/ssh: Use inet_connect_saddr() to establish socket connection block/ssh: Use InetSocketAddress options qapi: allow blockdev-add for ssh block/ssh.c | 120 ++++++++++++++++++++++++++++++++++++++++--------- include/qemu/sockets.h | 2 + qapi/block-core.json | 24 +++++++++- util/qemu-sockets.c | 2 +- 4 files changed, 124 insertions(+), 24 deletions(-) -- 2.6.2