This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Re: linux-next regression: IO errors in with ext4 and xe

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>, daniel.stodden@xxxxxxxxxx
Subject: Re: [Xen-devel] Re: linux-next regression: IO errors in with ext4 and xen-blkfront
From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Date: Mon, 25 Oct 2010 14:26:30 -0400
Cc: Jens Axboe <axboe@xxxxxxxxx>, Jeremy Fitzhardinge <jeremy@xxxxxxxx>, "Xen-devel@xxxxxxxxxxxxxxxxxxx" <Xen-devel@xxxxxxxxxxxxxxxxxxx>, Theodore Ts'o <tytso@xxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, Andreas Dilger <adilger.kernel@xxxxxxxxx>
Delivery-date: Mon, 25 Oct 2010 11:35:06 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20101022082916.GA14070@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4CBF83A0.8090802@xxxxxxxx> <4CBF84C9.6050606@xxxxxxxx> <4CC148E5.2030605@xxxxxxxxx> <20101022082916.GA14070@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.20 (2009-06-14)
On Fri, Oct 22, 2010 at 04:29:16AM -0400, Christoph Hellwig wrote:
> In the barriers tree Xen claims to support flushes, but I doesn't.
> It never handles REQ_FLUSH requests.  Try commenting out the
>       blk_queue_flush(info->rq, info->feature_flush);
> call and things should improve.  I still need to hear back from Xen
> folks how to actually implement a cache flush - they only implement

I think we just blindly assume that we would pass the request
to the backend. And if the backend is running under an ancient
version (2.6.18), the behavior would be quite different.

Perhaps we should negotiate with the backend whether it runs
under a kernel with the new barrier support? And if so, then enable
them? If the backend says it has no idea what we are talking about then
disable the barrier support?

How does that sound?

(Adding Daniel to this email thread as he has much more experience
than I do).

Daniel, what about the "use tagged queuing for barriers" patch you wrote
some time ago? Is it applicable to this issue?

> a barrier write privilegue which could never implement an empty
> cache flush.  Up to current kernels that meant it would implement
> barrier writes with content correctly and silently ignore empty barriers
> leading to very interesting data integrity bugs.  From 2.6.37 onwards
> it simply won't work anymore at all, which is at least consistent
> (modulo the bug of actually claiming to support flushes).
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

Xen-devel mailing list