* [Qemu-devel] [PATCH] migration-tcp: call migrate_fd_error() instead of close() and free().
@ 2010-06-09 21:50 Yoshiaki Tamura
2010-06-14 20:58 ` Anthony Liguori
0 siblings, 1 reply; 2+ messages in thread
From: Yoshiaki Tamura @ 2010-06-09 21:50 UTC (permalink / raw)
To: qemu-devel; +Cc: crobinso, Yoshiaki Tamura, lcapitulino
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 <crobinso@redhat.com>
Signed-off-by: Yoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp>
--
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);
--
1.7.0.31.g1df487
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH] migration-tcp: call migrate_fd_error() instead of close() and free().
2010-06-09 21:50 [Qemu-devel] [PATCH] migration-tcp: call migrate_fd_error() instead of close() and free() Yoshiaki Tamura
@ 2010-06-14 20:58 ` Anthony Liguori
0 siblings, 0 replies; 2+ messages in thread
From: Anthony Liguori @ 2010-06-14 20:58 UTC (permalink / raw)
To: Yoshiaki Tamura; +Cc: lcapitulino, qemu-devel, crobinso
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<crobinso@redhat.com>
> Signed-off-by: Yoshiaki Tamura<tamura.yoshiaki@lab.ntt.co.jp>
>
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);
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-06-14 20:58 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-09 21:50 [Qemu-devel] [PATCH] migration-tcp: call migrate_fd_error() instead of close() and free() Yoshiaki Tamura
2010-06-14 20:58 ` Anthony Liguori
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).