Loading migration/socket.c +27 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,28 @@ #include "trace.h" struct SocketOutgoingArgs { SocketAddress *saddr; } outgoing_args; void socket_send_channel_create(QIOTaskFunc f, void *data) { QIOChannelSocket *sioc = qio_channel_socket_new(); qio_channel_socket_connect_async(sioc, outgoing_args.saddr, f, data, NULL, NULL); } int socket_send_channel_destroy(QIOChannel *send) { /* Remove channel */ object_unref(OBJECT(send)); if (outgoing_args.saddr) { qapi_free_SocketAddress(outgoing_args.saddr); outgoing_args.saddr = NULL; } return 0; } static SocketAddress *tcp_build_address(const char *host_port, Error **errp) { SocketAddress *saddr; Loading Loading @@ -95,6 +117,11 @@ static void socket_start_outgoing_migration(MigrationState *s, struct SocketConnectData *data = g_new0(struct SocketConnectData, 1); data->s = s; /* in case previous migration leaked it */ qapi_free_SocketAddress(outgoing_args.saddr); outgoing_args.saddr = saddr; if (saddr->type == SOCKET_ADDRESS_TYPE_INET) { data->hostname = g_strdup(saddr->u.inet.host); } Loading @@ -106,7 +133,6 @@ static void socket_start_outgoing_migration(MigrationState *s, data, socket_connect_data_free, NULL); qapi_free_SocketAddress(saddr); } void tcp_start_outgoing_migration(MigrationState *s, Loading migration/socket.h +7 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,13 @@ #ifndef QEMU_MIGRATION_SOCKET_H #define QEMU_MIGRATION_SOCKET_H #include "io/channel.h" #include "io/task.h" void socket_send_channel_create(QIOTaskFunc f, void *data); int socket_send_channel_destroy(QIOChannel *send); void tcp_start_incoming_migration(const char *host_port, Error **errp); void tcp_start_outgoing_migration(MigrationState *s, const char *host_port, Loading Loading
migration/socket.c +27 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,28 @@ #include "trace.h" struct SocketOutgoingArgs { SocketAddress *saddr; } outgoing_args; void socket_send_channel_create(QIOTaskFunc f, void *data) { QIOChannelSocket *sioc = qio_channel_socket_new(); qio_channel_socket_connect_async(sioc, outgoing_args.saddr, f, data, NULL, NULL); } int socket_send_channel_destroy(QIOChannel *send) { /* Remove channel */ object_unref(OBJECT(send)); if (outgoing_args.saddr) { qapi_free_SocketAddress(outgoing_args.saddr); outgoing_args.saddr = NULL; } return 0; } static SocketAddress *tcp_build_address(const char *host_port, Error **errp) { SocketAddress *saddr; Loading Loading @@ -95,6 +117,11 @@ static void socket_start_outgoing_migration(MigrationState *s, struct SocketConnectData *data = g_new0(struct SocketConnectData, 1); data->s = s; /* in case previous migration leaked it */ qapi_free_SocketAddress(outgoing_args.saddr); outgoing_args.saddr = saddr; if (saddr->type == SOCKET_ADDRESS_TYPE_INET) { data->hostname = g_strdup(saddr->u.inet.host); } Loading @@ -106,7 +133,6 @@ static void socket_start_outgoing_migration(MigrationState *s, data, socket_connect_data_free, NULL); qapi_free_SocketAddress(saddr); } void tcp_start_outgoing_migration(MigrationState *s, Loading
migration/socket.h +7 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,13 @@ #ifndef QEMU_MIGRATION_SOCKET_H #define QEMU_MIGRATION_SOCKET_H #include "io/channel.h" #include "io/task.h" void socket_send_channel_create(QIOTaskFunc f, void *data); int socket_send_channel_destroy(QIOChannel *send); void tcp_start_incoming_migration(const char *host_port, Error **errp); void tcp_start_outgoing_migration(MigrationState *s, const char *host_port, Loading