[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 11/11] migration: change has_error to contain errno
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 11/11] migration: change has_error to contain errno values |
Date: |
Fri, 23 Sep 2011 14:50:47 +0200 |
We normally already have an errno value. When not, abuse EINVAL.
Signed-off-by: Juan Quintela <address@hidden>
---
arch_init.c | 2 +-
block-migration.c | 6 +++---
buffered_file.c | 4 ++--
hw/hw.h | 2 +-
migration.c | 2 +-
savevm.c | 8 ++++----
6 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/arch_init.c b/arch_init.c
index 9a5a0e3..12d9c8b 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -263,7 +263,7 @@ int ram_save_live(Monitor *mon, QEMUFile *f, int stage,
void *opaque)
}
if (cpu_physical_sync_dirty_bitmap(0, TARGET_PHYS_ADDR_MAX) != 0) {
- qemu_file_set_error(f);
+ qemu_file_set_error(f, -EINVAL);
return 0;
}
diff --git a/block-migration.c b/block-migration.c
index e2775ee..2638f51 100644
--- a/block-migration.c
+++ b/block-migration.c
@@ -263,7 +263,7 @@ static int mig_save_device_bulk(Monitor *mon, QEMUFile *f,
error:
monitor_printf(mon, "Error reading sector %" PRId64 "\n", cur_sector);
- qemu_file_set_error(f);
+ qemu_file_set_error(f, -EINVAL);
g_free(blk->buf);
g_free(blk);
return 0;
@@ -439,7 +439,7 @@ static int mig_save_device_dirty(Monitor *mon, QEMUFile *f,
error:
monitor_printf(mon, "Error reading sector %" PRId64 "\n", sector);
- qemu_file_set_error(f);
+ qemu_file_set_error(f, -EINVAL);
g_free(blk->buf);
g_free(blk);
return 0;
@@ -473,7 +473,7 @@ static void flush_blks(QEMUFile* f)
break;
}
if (blk->ret < 0) {
- qemu_file_set_error(f);
+ qemu_file_set_error(f, -EINVAL);
break;
}
blk_send(f, blk);
diff --git a/buffered_file.c b/buffered_file.c
index 3dadec0..3e5333c 100644
--- a/buffered_file.c
+++ b/buffered_file.c
@@ -92,7 +92,7 @@ static void buffered_flush(QEMUFileBuffered *s)
if (ret <= 0) {
DPRINTF("error flushing data, %zd\n", ret);
- qemu_file_set_error(s->file);
+ qemu_file_set_error(s->file, ret);
break;
} else {
DPRINTF("flushed %zd byte(s)\n", ret);
@@ -138,7 +138,7 @@ static int buffered_put_buffer(void *opaque, const uint8_t
*buf, int64_t pos, in
if (ret <= 0) {
DPRINTF("error putting\n");
- qemu_file_set_error(s->file);
+ qemu_file_set_error(s->file, ret);
offset = -EINVAL;
break;
}
diff --git a/hw/hw.h b/hw/hw.h
index a124da9..6cf8cd2 100644
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -86,7 +86,7 @@ int qemu_file_rate_limit(QEMUFile *f);
int64_t qemu_file_set_rate_limit(QEMUFile *f, int64_t new_rate);
int64_t qemu_file_get_rate_limit(QEMUFile *f);
int qemu_file_has_error(QEMUFile *f);
-void qemu_file_set_error(QEMUFile *f);
+void qemu_file_set_error(QEMUFile *f, int error);
/* Try to send any outstanding data. This function is useful when output is
* halted due to rate limiting or EAGAIN errors occur as it can be used to
diff --git a/migration.c b/migration.c
index 9265b16..08688aa 100644
--- a/migration.c
+++ b/migration.c
@@ -459,7 +459,7 @@ void migrate_fd_wait_for_unfreeze(void *opaque)
} while (ret == -1 && (s->get_error(s)) == EINTR);
if (ret == -1) {
- qemu_file_set_error(s->file);
+ qemu_file_set_error(s->file, s->get_error(s));
}
}
diff --git a/savevm.c b/savevm.c
index c382076..9199c24 100644
--- a/savevm.c
+++ b/savevm.c
@@ -430,9 +430,9 @@ int qemu_file_has_error(QEMUFile *f)
return f->has_error;
}
-void qemu_file_set_error(QEMUFile *f)
+void qemu_file_set_error(QEMUFile *f, int ret)
{
- f->has_error = 1;
+ f->has_error = ret;
}
void qemu_fflush(QEMUFile *f)
@@ -447,7 +447,7 @@ void qemu_fflush(QEMUFile *f)
if (len > 0)
f->buf_offset += f->buf_index;
else
- f->has_error = 1;
+ f->has_error = -EINVAL;
f->buf_index = 0;
}
}
@@ -468,7 +468,7 @@ static void qemu_fill_buffer(QEMUFile *f)
f->buf_size = len;
f->buf_offset += len;
} else if (len != -EAGAIN)
- f->has_error = 1;
+ f->has_error = len;
}
int qemu_fclose(QEMUFile *f)
--
1.7.6.2
- [Qemu-devel] [PATCH 06/11] migration: If there is one error, it makes no sense to continue, (continued)
- [Qemu-devel] [PATCH 06/11] migration: If there is one error, it makes no sense to continue, Juan Quintela, 2011/09/23
- [Qemu-devel] [PATCH 04/11] migration: return real error code, Juan Quintela, 2011/09/23
- [Qemu-devel] [PATCH 03/11] migration: Check that migration is active before cancel it, Juan Quintela, 2011/09/23
- [Qemu-devel] [PATCH 07/11] buffered_file: Use right "opaque", Juan Quintela, 2011/09/23
- [Qemu-devel] [PATCH 09/11] migration: don't "write" when migration is not active, Juan Quintela, 2011/09/23
- [Qemu-devel] [PATCH 10/11] migration: set error if select return one error, Juan Quintela, 2011/09/23
- [Qemu-devel] [PATCH 08/11] buffered_file: reuse QEMUFile has_error field, Juan Quintela, 2011/09/23
- [Qemu-devel] [PATCH 05/11] migration: add error handling to migrate_fd_put_notify()., Juan Quintela, 2011/09/23
- [Qemu-devel] [PATCH 11/11] migration: change has_error to contain errno values,
Juan Quintela <=