From patchwork Sat Feb 9 18:01:58 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [for-1.4, stable, 2/3] block-migration: fix blk_mig_save_dirty_block() return value checking From: Stefan Hajnoczi X-Patchwork-Id: 219426 Message-Id: <1360432919-1379-3-git-send-email-stefanha@redhat.com> To: Cc: Anthony Liguori , david.pravec@nethost.cz, Juan Quintela , Michael Roth , Stefan Hajnoczi , Paolo Bonzini Date: Sat, 9 Feb 2013 19:01:58 +0100 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 Reviewed-by: Paolo Bonzini Reviewed-by: Juan Quintela --- 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 */