migration: move contents of migration_close to migrate_fd_cleanup

With this patch, the migration_file is not needed anymore.

Reviewed-by: Orit Wasserman <owasserm@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
diff --git a/migration.c b/migration.c
index 4b04d50..64d8e46 100644
--- a/migration.c
+++ b/migration.c
@@ -272,6 +272,12 @@
         DPRINTF("closing file\n");
         qemu_fclose(s->file);
         s->file = NULL;
+
+        qemu_mutex_unlock_iothread();
+        qemu_thread_join(&s->thread);
+        qemu_mutex_lock_iothread();
+
+        migrate_fd_close(s);
     }
 
     assert(s->migration_file == NULL);
@@ -523,16 +529,7 @@
 
 static int migration_close(void *opaque)
 {
-    MigrationState *s = opaque;
-
-    DPRINTF("closing\n");
-
-    qemu_mutex_unlock_iothread();
-    qemu_thread_join(&s->thread);
-    qemu_mutex_lock_iothread();
-    assert(s->state != MIG_STATE_ACTIVE);
-
-    return migrate_fd_close(s);
+    return 0;
 }
 
 static int migration_get_fd(void *opaque)