From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:59065) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UHZjG-0000Tv-TY for qemu-devel@nongnu.org; Mon, 18 Mar 2013 09:04:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UHZjF-0006Lj-1G for qemu-devel@nongnu.org; Mon, 18 Mar 2013 09:03:54 -0400 Received: from mail-wg0-f46.google.com ([74.125.82.46]:42987) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UHZjE-0006Le-RL for qemu-devel@nongnu.org; Mon, 18 Mar 2013 09:03:52 -0400 Received: by mail-wg0-f46.google.com with SMTP id fg15so4824137wgb.13 for ; Mon, 18 Mar 2013 06:03:52 -0700 (PDT) Date: Mon, 18 Mar 2013 14:03:49 +0100 From: Stefan Hajnoczi Message-ID: <20130318130349.GB13065@stefanha-thinkpad.redhat.com> References: <1363609123-20748-1-git-send-email-alex@alex.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1363609123-20748-1-git-send-email-alex@alex.org.uk> Subject: Re: [Qemu-devel] [PATCHv3] QEMU(upstream): Disable xen's use of O_DIRECT by default as it results in crashes. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Bligh Cc: Ian Campbell , Stefano Stabellini , George Dunlap , Ian Jackson , qemu-devel@nongnu.org, xen-devel , Anthony Liguori On Mon, Mar 18, 2013 at 12:18:43PM +0000, Alex Bligh wrote: > Due to what is almost certainly a kernel bug, writes with > O_DIRECT may continue to reference the page after the write > has been marked as completed, particularly in the case of > TCP retransmit. In other scenarios, this "merely" risks > data corruption on the write, but with Xen pages from domU > are only transiently mapped into dom0's memory, resulting > in kernel panics when they are subsequently accessed. > > This brings PV devices in line with emulated devices. Removing > O_DIRECT is safe as barrier operations are now correctly passed > through. > > See: > http://lists.xen.org/archives/html/xen-devel/2012-12/msg01154.html > for more details. >>From the mailing list discussion it appears that this patch is a workaround - using the dom0 page cache to avoid the failed host kernel paging request, which is caused by the true bug. Has any progress been made at understanding the true problem? > This patch has already been applied to the xenbits.org > qemu-upstream repository. > http://xenbits.xen.org/gitweb/?p=qemu-upstream-unstable.git;a=commit;h=f3903bbac78a81fcbce1350cdce860764a62783a > Clearly it should go into qemu's own repository. > > Acked-by: Stefano Stabellini > Signed-off-by: Alex Bligh > --- > hw/xen_disk.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/hw/xen_disk.c b/hw/xen_disk.c > index a402ac8..14f8723 100644 > --- a/hw/xen_disk.c > +++ b/hw/xen_disk.c > @@ -603,7 +603,7 @@ static int blk_init(struct XenDevice *xendev) > } > > /* read-only ? */ > - qflags = BDRV_O_NOCACHE | BDRV_O_CACHE_WB | BDRV_O_NATIVE_AIO; > + qflags = BDRV_O_CACHE_WB | BDRV_O_NATIVE_AIO; > if (strcmp(blkdev->mode, "w") == 0) { > qflags |= BDRV_O_RDWR; > } else { > -- > 1.7.4.1 > >