Patchwork [06/18] migration: centralize call to migrate_fd_error()

login
register
mail settings
Submitter Paolo Bonzini
Date Oct. 3, 2012, 2:36 p.m.
Message ID <1349275025-5093-7-git-send-email-pbonzini@redhat.com>
Download mbox | patch
Permalink /patch/188800/
State New
Headers show

Comments

Paolo Bonzini - Oct. 3, 2012, 2:36 p.m.
The call to migrate_fd_error() was missing for non-socket backends, so
centralize it in qmp_migrate().

Before:

    (qemu) migrate fd:ffff
    migrate: An undefined error has occurred
    (qemu) info migrate
    (qemu)

After:

    (qemu) migrate fd:ffff
    migrate: An undefined error has occurred
    (qemu) info migrate
    capabilities: xbzrle: off
    Migration status: failed
    total time: 0 milliseconds

(The awful error message will be fixed later in the series).

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 migration-tcp.c  | 1 -
 migration-unix.c | 1 -
 migration.c      | 1 +
 3 file modificati, 1 inserzione(+), 2 rimozioni(-)
Luiz Capitulino - Oct. 4, 2012, 6:11 p.m.
On Wed,  3 Oct 2012 16:36:53 +0200
Paolo Bonzini <pbonzini@redhat.com> wrote:

> The call to migrate_fd_error() was missing for non-socket backends, so
> centralize it in qmp_migrate().
> 
> Before:
> 
>     (qemu) migrate fd:ffff
>     migrate: An undefined error has occurred
>     (qemu) info migrate
>     (qemu)
> 
> After:
> 
>     (qemu) migrate fd:ffff
>     migrate: An undefined error has occurred
>     (qemu) info migrate
>     capabilities: xbzrle: off
>     Migration status: failed
>     total time: 0 milliseconds
> 
> (The awful error message will be fixed later in the series).
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>

> ---
>  migration-tcp.c  | 1 -
>  migration-unix.c | 1 -
>  migration.c      | 1 +
>  3 file modificati, 1 inserzione(+), 2 rimozioni(-)
> 
> diff --git a/migration-tcp.c b/migration-tcp.c
> index 78337a3..e8bc76a 100644
> --- a/migration-tcp.c
> +++ b/migration-tcp.c
> @@ -79,7 +79,6 @@ int tcp_start_outgoing_migration(MigrationState *s, const char *host_port,
>  
>      s->fd = inet_nonblocking_connect(host_port, tcp_wait_for_connect, s, &local_err);
>      if (local_err != NULL) {
> -        migrate_fd_error(s);
>          error_propagate(errp, local_err);
>          return -1;
>      }
> diff --git a/migration-unix.c b/migration-unix.c
> index 169de88..d349662 100644
> --- a/migration-unix.c
> +++ b/migration-unix.c
> @@ -111,7 +111,6 @@ int unix_start_outgoing_migration(MigrationState *s, const char *path)
>  
>      if (ret < 0) {
>          DPRINTF("connect failed\n");
> -        migrate_fd_error(s);
>          return ret;
>      }
>      migrate_fd_connect(s);
> diff --git a/migration.c b/migration.c
> index 8a04174..a56358e 100644
> --- a/migration.c
> +++ b/migration.c
> @@ -522,6 +522,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
>      }
>  
>      if (ret < 0 || local_err) {
> +        migrate_fd_error(s);
>          if (!local_err) {
>              error_set_errno(errp, -ret, QERR_UNDEFINED_ERROR);
>          } else {

Patch

diff --git a/migration-tcp.c b/migration-tcp.c
index 78337a3..e8bc76a 100644
--- a/migration-tcp.c
+++ b/migration-tcp.c
@@ -79,7 +79,6 @@  int tcp_start_outgoing_migration(MigrationState *s, const char *host_port,
 
     s->fd = inet_nonblocking_connect(host_port, tcp_wait_for_connect, s, &local_err);
     if (local_err != NULL) {
-        migrate_fd_error(s);
         error_propagate(errp, local_err);
         return -1;
     }
diff --git a/migration-unix.c b/migration-unix.c
index 169de88..d349662 100644
--- a/migration-unix.c
+++ b/migration-unix.c
@@ -111,7 +111,6 @@  int unix_start_outgoing_migration(MigrationState *s, const char *path)
 
     if (ret < 0) {
         DPRINTF("connect failed\n");
-        migrate_fd_error(s);
         return ret;
     }
     migrate_fd_connect(s);
diff --git a/migration.c b/migration.c
index 8a04174..a56358e 100644
--- a/migration.c
+++ b/migration.c
@@ -522,6 +522,7 @@  void qmp_migrate(const char *uri, bool has_blk, bool blk,
     }
 
     if (ret < 0 || local_err) {
+        migrate_fd_error(s);
         if (!local_err) {
             error_set_errno(errp, -ret, QERR_UNDEFINED_ERROR);
         } else {