v2: - make Jan^Wcheckpatch.pl happy - Yoshiaki Tamura suggestions: - include its two patches to clean things - MAX_THROTTLE define - migration_state enum - I removed spurious differences between migration-{tcp,unix} - better error propagation, after this patch: migrate -d "tcp:name_don_exist:port" migrate -d "tcp:name:port_dont_exist" migrate -d "exec: prog_dont_exist" migrate -d "exec: gzip > /path/dont/exist" fail as expected. Last two used to enter an infinite loop.
Later, Juan. v1: This series: - Fold MigrationState into FdMigrationState (and then rename) - Factorize migration statec creation in a single place - Make use of MIG_STATE_*, setup through helpers and make them local - remove relase & cancel callbacks (where used only one in same file than defined) - get_status() is no more, just access directly to .state - current_migration use cleanup, and make variable static - max_throotle is gone, now inside current_migration - change get_migration_status() to migration_has_finished() and actualize single user. Please review. Later, Juan. Juan Quintela (26): migration: Make *start_outgoing_migration return FdMigrationState migration: Use FdMigrationState instead of MigrationState when possible migration: Fold MigrationState into FdMigrationState migration: Rename FdMigrationState MigrationState migration: Refactor MigrationState creation migration: Make all posible migration functions static migration: move migrate_create_state to do_migrate migration: Check that migration is active before cancel it migration: Introduce MIG_STATE_NONE migration: Refactor and simplify error checking in migrate_fd_put_ready migration: Introduce migrate_fd_completed() for consistenncy migration: Our release callback was just free migration: Remove get_status() accessor migration: Remove migration cancel() callback migration: Move exported functions to the end of the file migration: use global variable directly migration: another case of global variable assigned to local one migration: convert current_migration from pointer to struct migration: Use bandwidth_limit directly migration: Export a function that tells if the migration has finished correctly migration: Make state definitions local migration: Don't use callback on file defining it migration: propagate error correctly migration: qemu_savevm_iterate has three return values migration: If there is one error, it makes no sense to continue migration: make migration-{tcp,unix} consistent Yoshiaki Tamura (2): savevm: avoid qemu_savevm_state_iteate() to return 1 when qemu file has error. migration: add error handling to migrate_fd_put_notify(). buffered_file.c | 2 +- migration-exec.c | 39 +---- migration-fd.c | 42 ++----- migration-tcp.c | 76 ++++------ migration-unix.c | 112 ++++++--------- migration.c | 407 ++++++++++++++++++++++++++---------------------------- migration.h | 85 ++---------- savevm.c | 7 +- ui/spice-core.c | 4 +- 9 files changed, 307 insertions(+), 467 deletions(-) -- 1.7.4