From patchwork Sun Feb 10 22:12:45 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [for-1.4, stable, v2, 2/3] block-migration: fix blk_mig_save_dirty_block() return value checking Date: Sun, 10 Feb 2013 12:12:45 -0000 From: Stefan Hajnoczi X-Patchwork-Id: 219527 Message-Id: <1360534366-26723-3-git-send-email-stefanha@redhat.com> To: Cc: Anthony Liguori , david.pravec@nethost.cz, Juan Quintela , Michael Roth , Stefan Hajnoczi , Paolo Bonzini Commit 43be3a25c931a7f61a76fbfc9d35584cbfc5fb58 changed the blk_mig_save_dirty_block() return code handling. The function's doc comment says: /* return value: * 0: too much data for max_downtime * 1: few enough data for max_downtime */ Because of the 1 return value, callers must check for ret < 0 instead of just: if (ret) { ... } We do not want to bail when 1 is returned, only on error. Signed-off-by: Stefan Hajnoczi --- block-migration.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/block-migration.c b/block-migration.c index 573319a..a91d96b 100644 --- a/block-migration.c +++ b/block-migration.c @@ -569,7 +569,7 @@ static int block_save_iterate(QEMUFile *f, void *opaque) } } } - if (ret) { + if (ret < 0) { blk_mig_cleanup(); return ret; } @@ -609,7 +609,7 @@ static int block_save_complete(QEMUFile *f, void *opaque) } while (ret == 0); blk_mig_cleanup(); - if (ret) { + if (ret < 0) { return ret; } /* report completion */