Message ID | ab3af29da3354abd6782c30e20601ef243a1eddf.1318326683.git.quintela@redhat.com |
---|---|
State | New |
Headers | show |
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 --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)
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(-)