diff mbox

[14/36] migration: use qemu_file_get_error() return value when possible

Message ID 68d954d70dd163e6b1d1048039f2d6656a015445.1318326683.git.quintela@redhat.com
State New
Headers show

Commit Message

Juan Quintela Oct. 11, 2011, 10 a.m. UTC
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 arch_init.c       |    6 ++++--
 block-migration.c |    7 ++++---
 buffered_file.c   |   13 ++++++++-----
 savevm.c          |    4 ++--
 4 files changed, 18 insertions(+), 12 deletions(-)

Comments

Anthony Liguori Oct. 17, 2011, 2:01 p.m. UTC | #1
On 10/11/2011 05:00 AM, Juan Quintela wrote:
> Signed-off-by: Juan Quintela<quintela@redhat.com>

Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>

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;
diff mbox

Patch

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;