qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] migration-tcp: call migrate_fd_error() instead


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH] migration-tcp: call migrate_fd_error() instead of close() and free().
Date: Mon, 14 Jun 2010 15:58:19 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100423 Lightning/1.0b1 Thunderbird/3.0.4

On 06/09/2010 04:50 PM, Yoshiaki Tamura wrote:
This patch fixes the following error report.  When changing
migration-tcp.c to call migrate_fd_error() instead of close() and
free() by itself, monitor is resumed, and returns allocated mig_state
is set to current_migration in migration.c allows us to print "info
migrate".

Reported-by: Cole Robinson<address@hidden>
Signed-off-by: Yoshiaki Tamura<address@hidden>

Applied.  Thanks.

Regards,

Anthony Liguori
--
qemu: Improve error reporting when migration can't connect
https://bugs.launchpad.net/bugs/589315
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.

Status in QEMU: New

Bug description:
Tested with upstream qemu as of Jun 3 2010

If the source qemu instance can't connect to the migration destination (say
there is no listening QEMU instance, or port is blocked by a firewall), all we
get is info migrate ->  Migration status: failed. This is all we have to report
back to libvirt users if their firewall is misconfigured, which is crappy.

Ideally, if we can't connect, migration would fail immediately with a relevant
message and strerror(). More info from 'info migrate' would be nice too, no
idea how this will play with QMP though.

As a slightly related issue, try entering

migrate tcp:127.0.0.0:6000

We get a 'migration failed' error, and then the monitor hangs!
--
---
  migration-tcp.c |    4 +---
  1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/migration-tcp.c b/migration-tcp.c
index 95ce722..43af2e0 100644
--- a/migration-tcp.c
+++ b/migration-tcp.c
@@ -128,9 +128,7 @@ MigrationState *tcp_start_outgoing_migration(Monitor *mon,

      if (ret<  0&&  ret != -EINPROGRESS&&  ret != -EWOULDBLOCK) {
          DPRINTF("connect failed\n");
-        close(s->fd);
-        qemu_free(s);
-        return NULL;
+        migrate_fd_error(s);
      } else if (ret>= 0)
          migrate_fd_connect(s);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]