Skip to content

Commit

Permalink
migration/multifd: Remove direct "socket" references
Browse files Browse the repository at this point in the history
We're about to enable support for other transports in multifd, so
remove direct references to sockets.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231012134343.23757-2-farosas@suse.de>
  • Loading branch information
Fabiano Rosas authored and Juan Quintela committed Oct 16, 2023
1 parent 524321f commit 8560332
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions migration/multifd.c
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,11 @@ static void multifd_send_terminate_threads(Error *err)
}
}

static int multifd_send_channel_destroy(QIOChannel *send)
{
return socket_send_channel_destroy(send);
}

void multifd_save_cleanup(void)
{
int i;
Expand All @@ -532,7 +537,7 @@ void multifd_save_cleanup(void)
if (p->registered_yank) {
migration_ioc_unregister_yank(p->c);
}
socket_send_channel_destroy(p->c);
multifd_send_channel_destroy(p->c);
p->c = NULL;
qemu_mutex_destroy(&p->mutex);
qemu_sem_destroy(&p->sem);
Expand Down Expand Up @@ -890,20 +895,25 @@ static void multifd_new_send_channel_cleanup(MultiFDSendParams *p,
static void multifd_new_send_channel_async(QIOTask *task, gpointer opaque)
{
MultiFDSendParams *p = opaque;
QIOChannel *sioc = QIO_CHANNEL(qio_task_get_source(task));
QIOChannel *ioc = QIO_CHANNEL(qio_task_get_source(task));
Error *local_err = NULL;

trace_multifd_new_send_channel_async(p->id);
if (!qio_task_propagate_error(task, &local_err)) {
p->c = sioc;
p->c = ioc;
qio_channel_set_delay(p->c, false);
p->running = true;
if (multifd_channel_connect(p, sioc, local_err)) {
if (multifd_channel_connect(p, ioc, local_err)) {
return;
}
}

multifd_new_send_channel_cleanup(p, sioc, local_err);
multifd_new_send_channel_cleanup(p, ioc, local_err);
}

static void multifd_new_send_channel_create(gpointer opaque)
{
socket_send_channel_create(multifd_new_send_channel_async, opaque);
}

int multifd_save_setup(Error **errp)
Expand Down Expand Up @@ -952,7 +962,7 @@ int multifd_save_setup(Error **errp)
p->write_flags = 0;
}

socket_send_channel_create(multifd_new_send_channel_async, p);
multifd_new_send_channel_create(p);
}

for (i = 0; i < thread_count; i++) {
Expand Down

0 comments on commit 8560332

Please sign in to comment.