qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 14/36] migration: use qemu_file_get_error() retu


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 14/36] migration: use qemu_file_get_error() return value when possible
Date: Mon, 17 Oct 2011 09:01:10 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Lightning/1.0b2 Thunderbird/3.1.13

On 10/11/2011 05:00 AM, Juan Quintela wrote:
Signed-off-by: Juan Quintela<address@hidden>

Reviewed-by: Anthony Liguori <address@hidden>

Regards,

Anthony Liguori

---
  arch_init.c       |    6 ++++--
  block-migration.c |    7 ++++---
  buffered_file.c   |   13 ++++++++-----
  savevm.c          |    4 ++--
  4 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/arch_init.c b/arch_init.c
index 9128be0..98daaf3 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -371,6 +371,7 @@ int ram_load(QEMUFile *f, void *opaque, int version_id)
  {
      ram_addr_t addr;
      int flags;
+    int error;

      if (version_id<  3 || version_id>  4) {
          return -EINVAL;
@@ -451,8 +452,9 @@ int ram_load(QEMUFile *f, void *opaque, int version_id)

              qemu_get_buffer(f, host, TARGET_PAGE_SIZE);
          }
-        if (qemu_file_get_error(f)) {
-            return -EIO;
+        error = qemu_file_get_error(f);
+        if (error) {
+            return error;
          }
      } while (!(flags&  RAM_SAVE_FLAG_EOS));

diff --git a/block-migration.c b/block-migration.c
index 8308753..e36f2e3 100644
--- a/block-migration.c
+++ b/block-migration.c
@@ -646,6 +646,7 @@ static int block_load(QEMUFile *f, void *opaque, int 
version_id)
      uint8_t *buf;
      int64_t total_sectors = 0;
      int nr_sectors;
+    int ret;

      do {
          addr = qemu_get_be64(f);
@@ -654,7 +655,6 @@ static int block_load(QEMUFile *f, void *opaque, int 
version_id)
          addr>>= BDRV_SECTOR_BITS;

          if (flags&  BLK_MIG_FLAG_DEVICE_BLOCK) {
-            int ret;
              /* get device name */
              len = qemu_get_byte(f);
              qemu_get_buffer(f, (uint8_t *)device_name, len);
@@ -704,8 +704,9 @@ static int block_load(QEMUFile *f, void *opaque, int 
version_id)
              fprintf(stderr, "Unknown flags\n");
              return -EINVAL;
          }
-        if (qemu_file_get_error(f)) {
-            return -EIO;
+        ret = qemu_file_get_error(f);
+        if (ret != 0) {
+            return ret;
          }
      } while (!(flags&  BLK_MIG_FLAG_EOS));

diff --git a/buffered_file.c b/buffered_file.c
index 82f4001..42bbbd3 100644
--- a/buffered_file.c
+++ b/buffered_file.c
@@ -71,9 +71,11 @@ static void buffered_append(QEMUFileBuffered *s,
  static void buffered_flush(QEMUFileBuffered *s)
  {
      size_t offset = 0;
+    int error;

-    if (qemu_file_get_error(s->file)) {
-        DPRINTF("flush when error, bailing\n");
+    error = qemu_file_get_error(s->file);
+    if (error != 0) {
+        DPRINTF("flush when error, bailing: %s\n", strerror(-error));
          return;
      }

@@ -108,13 +110,14 @@ static void buffered_flush(QEMUFileBuffered *s)
  static int buffered_put_buffer(void *opaque, const uint8_t *buf, int64_t pos, 
int size)
  {
      QEMUFileBuffered *s = opaque;
-    int offset = 0;
+    int offset = 0, error;
      ssize_t ret;

      DPRINTF("putting %d bytes at %" PRId64 "\n", size, pos);

-    if (qemu_file_get_error(s->file)) {
-        DPRINTF("flush when error, bailing\n");
+    error = qemu_file_get_error(s->file);
+    if (error) {
+        DPRINTF("flush when error, bailing: %s\n", strerror(-error));
          return -EINVAL;
      }

diff --git a/savevm.c b/savevm.c
index 69a2ccd..3042ae5 100644
--- a/savevm.c
+++ b/savevm.c
@@ -1835,8 +1835,8 @@ out:
          g_free(le);
      }

-    if (qemu_file_get_error(f)) {
-        ret = -EIO;
+    if (ret == 0) {
+        ret = qemu_file_get_error(f);
      }

      return ret;




reply via email to

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