diff mbox

[11/36] migration: change has_error to contain errno values

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

Commit Message

Juan Quintela Oct. 11, 2011, 10 a.m. UTC
We normally already have an errno value.  When not, abuse EINVAL.

Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 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(-)

Comments

Anthony Liguori Oct. 17, 2011, 2 p.m. UTC | #1
On 10/11/2011 05:00 AM, Juan Quintela wrote:
> We normally already have an errno value.  When not, abuse EINVAL.
>
> Signed-off-by: Juan Quintela<quintela@redhat.com>

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

Regards,

Anthony Liguori

> ---
>   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 a6c69c7..941d585 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 56c2b1c..541da98 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 15c9c52..8bc7272 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)
diff mbox

Patch

diff --git a/arch_init.c b/arch_init.c
index a6c69c7..941d585 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 56c2b1c..541da98 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 15c9c52..8bc7272 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)