From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:50447) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uh4bd-0000Zj-2M for qemu-devel@nongnu.org; Mon, 27 May 2013 17:05:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Uh4bU-0007Sz-FC for qemu-devel@nongnu.org; Mon, 27 May 2013 17:05:24 -0400 Received: from mail-ee0-f41.google.com ([74.125.83.41]:63202) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uh4bU-0007St-9H for qemu-devel@nongnu.org; Mon, 27 May 2013 17:05:16 -0400 Received: by mail-ee0-f41.google.com with SMTP id d4so4257016eek.0 for ; Mon, 27 May 2013 14:05:15 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <51A3CA81.4090605@redhat.com> Date: Mon, 27 May 2013 23:05:05 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <33183CC9F5247A488A2544077AF19020697A3B72@szxeml538-mbx.china.huawei.com> <51A24172.4020208@suse.de> In-Reply-To: <51A24172.4020208@suse.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] IDE disk FLUSH take more than 30 secs, the SUSE guest reports "lost interrupt and the file system becomes read-only" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= Cc: "kwolf@redhat.com" , Stefano Stabellini , Stefan Hajnoczi , Luonengjun , "qemu-devel@nongnu.org" , Wangzhenguo , "Gonglei (Arei)" , "Huangweidong (Hardware)" Il 26/05/2013 19:08, Andreas Färber ha scritto: > Have you actually tried that out with a patch such as the following? > > diff --git a/hw/ide/core.c b/hw/ide/core.c > index c7a8041..bf1ff18 100644 > --- a/hw/ide/core.c > +++ b/hw/ide/core.c > @@ -795,6 +795,8 @@ static void ide_flush_cb(void *opaque, int ret) > { > IDEState *s = opaque; > > + s->status &= ~BUSY_STAT; > + > if (ret < 0) { > /* XXX: What sector number to set here? */ > if (ide_handle_rw_error(s, -ret, BM_STATUS_RETRY_FLUSH)) { > @@ -814,6 +816,7 @@ void ide_flush_cache(IDEState *s) > return; > } > > + s->status |= BUSY_STAT; > bdrv_acct_start(s->bs, &s->acct, 0, BDRV_ACCT_FLUSH); > bdrv_aio_flush(s->bs, ide_flush_cb, s); > } Yes, this patch is correct. Can you resend with S-o-b? Paolo