Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754490AbWLRUOv (ORCPT ); Mon, 18 Dec 2006 15:14:51 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754523AbWLRUOv (ORCPT ); Mon, 18 Dec 2006 15:14:51 -0500 Received: from smtp.osdl.org ([65.172.181.25]:42816 "EHLO smtp.osdl.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754490AbWLRUOv (ORCPT ); Mon, 18 Dec 2006 15:14:51 -0500 Date: Mon, 18 Dec 2006 12:14:35 -0800 (PST) From: Linus Torvalds To: Andrei Popa cc: Peter Zijlstra , Andrew Morton , Linux Kernel Mailing List , Hugh Dickins , Florian Weimer , Marc Haber , Martin Michlmayr Subject: Re: 2.6.19 file content corruption on ext3 In-Reply-To: <1166471069.6940.4.camel@localhost> Message-ID: References: <1166314399.7018.6.camel@localhost> <20061217040620.91dac272.akpm@osdl.org> <1166362772.8593.2.camel@localhost> <20061217154026.219b294f.akpm@osdl.org> <1166460945.10372.84.camel@twins> <1166466272.10372.96.camel@twins> <1166468651.6983.6.camel@localhost> <1166471069.6940.4.camel@localhost> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1330 Lines: 39 On Mon, 18 Dec 2006, Andrei Popa wrote: > > I dropped that patch and added WARN_ON(1), the unified patch is > attached. > > I got corruption: "Hash check on download completion found bad chunks, > consider using "safe_sync"." Ok. That is actually _very_ interesting. It's interesting because (a) the corruption obviously goes away with the one-liner that effectively disables "page_mkclean_one()". So that tells us that yes, it's a PTE dirty bit that matters. But at the same time, it's interesting that it still happens when we try to re-add the dirty bit. That would tell me that it's one of two cases: - there is another caller of page cleaning that should have done the same thing (we could check that by just doing this all _inside_ the page_mkclean() thing) OR: - page_mkclean_one() is simply buggy. And I'm starting to wonder about the second case. But it all LOOKS really fine - I can't see anything wrong there (it uses the extremely conservative "ptep_get_and_clear()", and seems to flush everything right too, through "ptep_establish()"). Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/