[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 03/41] migration: move more error handling to mi
From: |
Orit Wasserman |
Subject: |
Re: [Qemu-devel] [PATCH 03/41] migration: move more error handling to migrate_fd_cleanup |
Date: |
Mon, 18 Feb 2013 11:13:30 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 |
On 02/15/2013 07:46 PM, Paolo Bonzini wrote:
> The next patch will add more cases where qemu_savevm_state_cancel
> needs to be called; prepare for that already, the function can be
> called twice with no ill effect.
>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> migration.c | 16 ++++++++++------
> 1 files changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/migration.c b/migration.c
> index 2b44268..0f3cb5d 100644
> --- a/migration.c
> +++ b/migration.c
> @@ -260,7 +260,7 @@ void
> qmp_migrate_set_capabilities(MigrationCapabilityStatusList *params,
>
> /* shared migration helpers */
>
> -static int migrate_fd_cleanup(MigrationState *s)
> +static void migrate_fd_cleanup(MigrationState *s)
> {
> int ret = 0;
>
> @@ -271,7 +271,13 @@ static int migrate_fd_cleanup(MigrationState *s)
> }
>
> assert(s->fd == -1);
> - return ret;
> + if (ret < 0 && s->state == MIG_STATE_ACTIVE) {
> + s->state = MIG_STATE_ERROR;
> + }
> +
> + if (s->state != MIG_STATE_ACTIVE) {
> + qemu_savevm_state_cancel();
> + }
> }
>
> void migrate_fd_error(MigrationState *s)
> @@ -285,9 +291,8 @@ void migrate_fd_error(MigrationState *s)
> static void migrate_fd_completed(MigrationState *s)
> {
> DPRINTF("setting completed state\n");
> - if (migrate_fd_cleanup(s) < 0) {
> - s->state = MIG_STATE_ERROR;
> - } else {
> + migrate_fd_cleanup(s);
> + if (s->state == MIG_STATE_ACTIVE) {
> s->state = MIG_STATE_COMPLETED;
> runstate_set(RUN_STATE_POSTMIGRATE);
> }
> @@ -322,7 +327,6 @@ static void migrate_fd_cancel(MigrationState *s)
>
> s->state = MIG_STATE_CANCELLED;
> notifier_list_notify(&migration_state_notifiers, s);
> - qemu_savevm_state_cancel();
>
> migrate_fd_cleanup(s);
> }
>
Reviewed-by: Orit Wasserman <address@hidden>
- [Qemu-devel] [PATCH 00/41] Migration cleanups and latency improvements, Paolo Bonzini, 2013/02/15
- [Qemu-devel] [PATCH 01/41] migration: simplify while loop, Paolo Bonzini, 2013/02/15
- [Qemu-devel] [PATCH 02/41] migration: always use vm_stop_force_state, Paolo Bonzini, 2013/02/15
- [Qemu-devel] [PATCH 03/41] migration: move more error handling to migrate_fd_cleanup, Paolo Bonzini, 2013/02/15
- [Qemu-devel] [PATCH 04/41] migration: push qemu_savevm_state_cancel out of qemu_savevm_state_*, Paolo Bonzini, 2013/02/15
- [Qemu-devel] [PATCH 05/41] block-migration: remove useless calls to blk_mig_cleanup, Paolo Bonzini, 2013/02/15
- [Qemu-devel] [PATCH 07/41] migration: use qemu_file_set_error to pass error codes back to qemu_savevm_state, Paolo Bonzini, 2013/02/15