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:
Juan Quintela 2012-07-23 06:15:02 +02:00
parent 766bd1769e
commit dd217b8732
7 changed files with 2 additions and 29 deletions

View file

@ -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;
}