From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:60774) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFnjn-0005dW-7P for qemu-devel@nongnu.org; Mon, 17 Oct 2011 10:00:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RFnjf-0002Sg-4G for qemu-devel@nongnu.org; Mon, 17 Oct 2011 10:00:19 -0400 Received: from mail-yx0-f174.google.com ([209.85.213.174]:61466) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFnjf-0002JS-1n for qemu-devel@nongnu.org; Mon, 17 Oct 2011 10:00:11 -0400 Received: by mail-yx0-f174.google.com with SMTP id 4so3852613yxp.5 for ; Mon, 17 Oct 2011 07:00:10 -0700 (PDT) Message-ID: <4E9C34E8.3020902@codemonkey.ws> Date: Mon, 17 Oct 2011 09:00:08 -0500 From: Anthony Liguori MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 11/36] migration: change has_error to contain errno values List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Juan Quintela Cc: qemu-devel@nongnu.org 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 Reviewed-by: Anthony Liguori 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)