From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:36649) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6fwc-0000gA-2c for qemu-devel@nongnu.org; Thu, 22 Sep 2011 05:51:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R6fwb-0004Wr-2I for qemu-devel@nongnu.org; Thu, 22 Sep 2011 05:51:50 -0400 Received: from e23smtp02.au.ibm.com ([202.81.31.144]:45216) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6fwa-0004VS-Gh for qemu-devel@nongnu.org; Thu, 22 Sep 2011 05:51:49 -0400 Received: from d23relay03.au.ibm.com (d23relay03.au.ibm.com [202.81.31.245]) by e23smtp02.au.ibm.com (8.14.4/8.13.1) with ESMTP id p8M9ix97002240 for ; Thu, 22 Sep 2011 19:44:59 +1000 Received: from d23av01.au.ibm.com (d23av01.au.ibm.com [9.190.234.96]) by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p8M9pTvQ1126580 for ; Thu, 22 Sep 2011 19:51:31 +1000 Received: from d23av01.au.ibm.com (loopback [127.0.0.1]) by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p8M9pT8g001213 for ; Thu, 22 Sep 2011 19:51:29 +1000 Received: from [127.0.0.1] ([9.115.127.179]) by d23av01.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id p8M9pQWo032334 for ; Thu, 22 Sep 2011 19:51:28 +1000 Message-ID: <4E7B04F1.8030605@linux.vnet.ibm.com> Date: Thu, 22 Sep 2011 17:50:41 +0800 From: Wayne Xia MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=GB2312 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 7/7] migration: qemu_savevm_iterate has three return values List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org =D3=DA 2011-9-20 21:24, Juan Quintela =D0=B4=B5=C0: > We were retrying when there was one error, entering a loop. >=20 > Signed-off-by: Juan Quintela > --- > migration.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) >=20 > diff --git a/migration.c b/migration.c > index 7f8928a..0baed23 100644 > --- a/migration.c > +++ b/migration.c > @@ -362,6 +362,7 @@ void migrate_fd_connect(FdMigrationState *s) > void migrate_fd_put_ready(void *opaque) > { > FdMigrationState *s =3D opaque; > + int ret; >=20 > if (s->state !=3D MIG_STATE_ACTIVE) { > DPRINTF("put_ready returning because of non-active state\n"); > @@ -369,7 +370,10 @@ void migrate_fd_put_ready(void *opaque) > } >=20 > DPRINTF("iterate\n"); > - if (qemu_savevm_state_iterate(s->mon, s->file) =3D=3D 1) { > + ret =3D qemu_savevm_state_iterate(s->mon, s->file); > + if (ret =3D=3D -1) { > + migrate_fd_error(s); > + } else if (ret =3D=3D 1) { > int old_vm_running =3D vm_running; >=20 > DPRINTF("done iterating\n"); Maybe macro could be used in the situation that more than 2 possible types of value may return. --=20 Best Regards Wayne Xia mail:xiawenc@linux.vnet.ibm.com tel:86-010-82450803