From 7fbedaefbde28e3a062c6845b8b8d89ab1dc3321 Mon Sep 17 00:00:00 2001 From: Eduardo Habkost Date: Fri, 28 Oct 2011 14:22:24 -0200 Subject: [RHEL6 qemu-kvm PATCH 07/17] Revert "migration: change has_error to contain errno values" RH-Reverts: f4f6601c7113ec33bd6bdcd15dc90edc61f9c781 RH-Reverts-patchwork-id: 34436 Bugzilla-related: 669581 Signed-off-by: Eduardo Habkost --- block-migration.c | 11 +++++------ buffered_file.c | 4 ++-- hw/hw.h | 2 +- migration.c | 2 +- savevm.c | 8 ++++---- vl.c | 4 ++-- 6 files changed, 15 insertions(+), 16 deletions(-) diff --git a/block-migration.c b/block-migration.c index 776df6d..4233a3f 100644 --- a/block-migration.c +++ b/block-migration.c @@ -203,7 +203,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, -EIO); + qemu_file_set_error(f); qemu_free(blk->buf); qemu_free(blk); return 0; @@ -310,12 +310,11 @@ static void blk_mig_save_dirty_blocks(Monitor *mon, QEMUFile *f) QSIMPLEQ_FOREACH(bmds, &block_mig_state.bmds_list, entry) { for (sector = 0; sector < bmds->cur_sector;) { if (bdrv_get_dirty(bmds->bs, sector)) { - int ret = bdrv_read(bmds->bs, sector, blk.buf, - BDRV_SECTORS_PER_DIRTY_CHUNK); - if (ret < 0) { + if (bdrv_read(bmds->bs, sector, blk.buf, + BDRV_SECTORS_PER_DIRTY_CHUNK) < 0) { monitor_printf(mon, "Error reading sector %" PRId64 "\n", sector); - qemu_file_set_error(f, ret); + qemu_file_set_error(f); qemu_free(blk.buf); return; } @@ -346,7 +345,7 @@ static void flush_blks(QEMUFile* f) break; } if (blk->ret < 0) { - qemu_file_set_error(f, blk->ret); + qemu_file_set_error(f); break; } blk_send(f, blk); diff --git a/buffered_file.c b/buffered_file.c index a855a88..fab9a41 100644 --- a/buffered_file.c +++ b/buffered_file.c @@ -93,7 +93,7 @@ static void buffered_flush(QEMUFileBuffered *s) if (ret <= 0) { DPRINTF("error flushing data, %zd\n", ret); - qemu_file_set_error(s->file, ret); + qemu_file_set_error(s->file); break; } else { DPRINTF("flushed %zd byte(s)\n", ret); @@ -139,7 +139,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, ret); + qemu_file_set_error(s->file); offset = -EINVAL; break; } diff --git a/hw/hw.h b/hw/hw.h index aae4bb6..d535f23 100644 --- a/hw/hw.h +++ b/hw/hw.h @@ -88,7 +88,7 @@ int qemu_file_rate_limit(QEMUFile *f); size_t qemu_file_set_rate_limit(QEMUFile *f, size_t new_rate); size_t qemu_file_get_rate_limit(QEMUFile *f); int qemu_file_has_error(QEMUFile *f); -void qemu_file_set_error(QEMUFile *f, int error); +void qemu_file_set_error(QEMUFile *f); /* 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 f0e65a8..e35cb41 100644 --- a/migration.c +++ b/migration.c @@ -476,7 +476,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, -s->get_error(s)); + qemu_file_set_error(s->file); } } diff --git a/savevm.c b/savevm.c index d5fd9cb..afa37a6 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, int ret) +void qemu_file_set_error(QEMUFile *f) { - f->has_error = ret; + f->has_error = 1; } 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 = -EINVAL; + f->has_error = 1; f->buf_index = 0; } } @@ -476,7 +476,7 @@ static void qemu_fill_buffer(QEMUFile *f) f->buf_size += len; f->buf_offset += len; } else if (len != -EAGAIN) - f->has_error = len; + f->has_error = 1; } int qemu_fclose(QEMUFile *f) diff --git a/vl.c b/vl.c index fc0a57e..7906af0 100644 --- a/vl.c +++ b/vl.c @@ -2840,7 +2840,7 @@ static int ram_save_block(QEMUFile *f) r = kvm_update_dirty_pages_log(); if (r) { fprintf(stderr, "%s: update dirty pages log failed %d\n", __FUNCTION__, r); - qemu_file_set_error(f, -EINVAL); + qemu_file_set_error(f); return 0; } } @@ -2936,7 +2936,7 @@ static 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, -EINVAL); + qemu_file_set_error(f); return 0; } -- 1.7.3.2