mirror of
https://github.com/mii443/qemu.git
synced 2025-09-01 14:49:23 +00:00
migration: make writes blocking
Move all the writes to the migration_thread, and make writings blocking. Notice that are still using the iothread for everything that we do. Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
17
migration.c
17
migration.c
@ -297,18 +297,6 @@ static void migrate_fd_completed(MigrationState *s)
|
||||
notifier_list_notify(&migration_state_notifiers, s);
|
||||
}
|
||||
|
||||
static void migrate_fd_put_notify(void *opaque)
|
||||
{
|
||||
MigrationState *s = opaque;
|
||||
int ret;
|
||||
|
||||
qemu_set_fd_handler2(s->fd, NULL, NULL, NULL, NULL);
|
||||
ret = qemu_file_put_notify(s->file);
|
||||
if (ret) {
|
||||
migrate_fd_error(s);
|
||||
}
|
||||
}
|
||||
|
||||
ssize_t migrate_fd_put_buffer(MigrationState *s, const void *data,
|
||||
size_t size)
|
||||
{
|
||||
@ -325,10 +313,6 @@ ssize_t migrate_fd_put_buffer(MigrationState *s, const void *data,
|
||||
if (ret == -1)
|
||||
ret = -(s->get_error(s));
|
||||
|
||||
if (ret == -EAGAIN) {
|
||||
qemu_set_fd_handler2(s->fd, NULL, NULL, migrate_fd_put_notify, s);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -425,7 +409,6 @@ int migrate_fd_close(MigrationState *s)
|
||||
{
|
||||
int rc = 0;
|
||||
if (s->fd != -1) {
|
||||
qemu_set_fd_handler2(s->fd, NULL, NULL, NULL, NULL);
|
||||
rc = s->close(s);
|
||||
s->fd = -1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user