From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=38826 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OWZ9N-0002xl-74 for qemu-devel@nongnu.org; Wed, 07 Jul 2010 14:15:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OWZ8z-0003ZZ-C1 for qemu-devel@nongnu.org; Wed, 07 Jul 2010 14:14:50 -0400 Received: from mail-px0-f173.google.com ([209.85.212.173]:45306) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OWZ8z-0003ZQ-7f for qemu-devel@nongnu.org; Wed, 07 Jul 2010 14:14:49 -0400 Received: by pxi18 with SMTP id 18so2162694pxi.4 for ; Wed, 07 Jul 2010 11:14:48 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20100707180411.GA17569@amt.cnet> References: <20100707180411.GA17569@amt.cnet> From: Blue Swirl Date: Wed, 7 Jul 2010 18:14:27 +0000 Message-ID: Subject: Re: [Qemu-devel] [PATCH] set proper migration status on ->write error Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Marcelo Tosatti Cc: qemu-devel@nongnu.org, Juan Quintela On Wed, Jul 7, 2010 at 6:04 PM, Marcelo Tosatti wrote= : > > If ->write fails, declare migration status as MIG_STATE_ERROR. > > Also, in buffered_file.c, ->close the object in case of an > error. > > Fixes "migrate -d "exec:dd of=3Dfile", where dd fails to open file. > > Signed-off-by: Marcelo Tosatti > > diff --git a/buffered_file.c b/buffered_file.c > index 54dc6c2..be147d6 100644 > --- a/buffered_file.c > +++ b/buffered_file.c > @@ -222,8 +222,10 @@ static void buffered_rate_tick(void *opaque) > =C2=A0{ > =C2=A0 =C2=A0 QEMUFileBuffered *s =3D opaque; > > - =C2=A0 =C2=A0if (s->has_error) > + =C2=A0 =C2=A0if (s->has_error) { > + =C2=A0 =C2=A0 =C2=A0 =C2=A0buffered_close(s); > =C2=A0 =C2=A0 =C2=A0 =C2=A0 return; > + =C2=A0 =C2=A0} > > =C2=A0 =C2=A0 qemu_mod_timer(s->timer, qemu_get_clock(rt_clock) + 100); > > diff --git a/migration.c b/migration.c > index b49964c..5bf2f4e 100644 > --- a/migration.c > +++ b/migration.c > @@ -318,6 +318,8 @@ ssize_t migrate_fd_put_buffer(void *opaque, const voi= d *data, size_t size) > > =C2=A0 =C2=A0 if (ret =3D=3D -EAGAIN) > =C2=A0 =C2=A0 =C2=A0 =C2=A0 qemu_set_fd_handler2(s->fd, NULL, NULL, migra= te_fd_put_notify, s); > + =C2=A0 =C2=A0else > + =C2=A0 =C2=A0 =C2=A0 =C2=A0s->state =3D MIG_STATE_ERROR; Please check CODING_STYLE. It's different from kernel's version.