aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUri Lublin <uril@qumranet.com>2007-03-22 10:26:54 +0000
committerUri Lublin <uril@qumranet.com>2007-03-22 10:26:54 +0000
commitafe8c89825d9cb8e7fce574e4fd36ecc3d0bb238 (patch)
tree286b27fe27485f7cdba27ff4a9aec1b7e6ab5112
parent7d419f711a9e45358b76630e48deeac762296b3c (diff)
qemu migration: added some error messages
Also removed unused variable i (unused since previous change r4556).
-rw-r--r--migration.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/migration.c b/migration.c
index ece0160c3..74490c35a 100644
--- a/migration.c
+++ b/migration.c
@@ -669,8 +669,8 @@ wait_for_ack:
goto wait_for_ack;
if (len != 1 || status != 0) {
*s->has_error = MIG_STAT_READ_FAILED;
- fprintf(stderr, "migration: wait_for_ack: read failed l=%ld s=%d\n",
- len, status);
+ fprintf(stderr, "migration: wait_for_ack: read error l=%ld s=%d(%s)\n",
+ len, status, strerror(errno));
goto out;
}
@@ -679,7 +679,8 @@ send_go:
if (len == -1 && errno == EINTR)
goto send_go;
if (len != 1) {
- fprintf(stderr, "migration: send_go: write failed l=%ld\n", len);
+ fprintf(stderr, "migration: send_go: write error l=%ld(%s)\n",
+ len, strerror(errno));
*s->has_error = MIG_STAT_WRITE_FAILED;
}
@@ -767,15 +768,19 @@ static int migrate_incoming_fd(int fd)
{
int ret = 0;
QEMUFile *f = qemu_fopen_fd(fd);
- uint32_t addr;
+ uint32_t addr, size;
extern void qemu_announce_self(void);
- if (qemu_get_be32(f) != phys_ram_size)
+ size = qemu_get_be32(f);
+ if (size != phys_ram_size) {
+ fprintf(stderr, "migration: memory size mismatch: recv %u mine %u\n",
+ size, phys_ram_size);
return MIG_STAT_DST_MEM_SIZE_MISMATCH;
+ }
#ifdef USE_KVM
if (kvm_allowed) {
- int n, i;
+ int n;
unsigned char *phys_ram_page_exist_bitmap = NULL;
/* allocate memory bitmap */
@@ -880,6 +885,8 @@ send_ack:
if (len == -1 && errno == EAGAIN)
goto send_ack;
if (len != 1) {
+ fprintf(stderr, "migration: send_ack: write error len=%ld (%s)\n",
+ len, strerror(errno));
rc = MIG_STAT_DST_WRITE_FAILED;
goto error_accept;
}
@@ -894,8 +901,11 @@ wait_for_go:
len = read(sfd, &status, 1);
if (len == -1 && errno == EAGAIN)
goto wait_for_go;
- if (len != 1)
+ if (len != 1) {
rc = MIG_STAT_DST_READ_FAILED;
+ fprintf(stderr, "migration: wait_for_go: read error len=%ld (%s)\n",
+ len, strerror(errno));
+ }
error_accept:
close(sfd);