Hello, Attached for review is an implementation of migration to/from a file. migrate-to-file: uses posix-aio-compat and FdMigration migrate-from-file: uses qemu-fopen directly. This patch is incomplete as currently it uses polling of aio-completion (we fake EAGAIN, and select finds the fd writeable, so file_write will be called again). As Anthony suggested I plan to implement s->set_fd in FdMigration code, and use signal based aio-completion notifications (SIGUSR1). Anthony mentioned we need only a single aio operation at a time. Although I'm not sure what the reasoning for that, I modified the code to support a single operation (my previous implementation used multiple aio operations). Differences from v2: use aio writes (posix-aio-compat) instead of select and/or write. compile migration-to-file only if AIO is configured. An alternative (v4) would be to use a single thread and a pipe which is also asynchronous, much easier to implement and possibly faster (need to be measured). Regards, Uri.