From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754708AbWLRWee (ORCPT ); Mon, 18 Dec 2006 17:34:34 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754707AbWLRWee (ORCPT ); Mon, 18 Dec 2006 17:34:34 -0500 Received: from smtp.osdl.org ([65.172.181.25]:52335 "EHLO smtp.osdl.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754708AbWLRWec (ORCPT ); Mon, 18 Dec 2006 17:34:32 -0500 Date: Mon, 18 Dec 2006 14:32:22 -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: <1166476297.6862.1.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> <1166476297.6862.1.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 On Mon, 18 Dec 2006, Andrei Popa wrote: > > > > This should be fairly easy to test: just change every single ", 1" case in > > the patch to ", 0". > > > > What happens for you in that case? > > I have file corruption. Magic. And btw, _thanks_ for being such a great tester. So now I have one more thng for you to try, it you can bother: There's exactly two call sites that call "page_mkclean()" (an dthat is the only thing in turn that calls "page_mkclean_one()", which we already determined will cause the corruption). Both of them do if (mapping_cap_account_dirty(mapping)) { .. things, although they do slightly different things inside that if in your patched kernel. Can you just TOTALLY DISABLE that case for the test_clear_page_dirty() case? Just do an "#if 0 .. #endif" around that whole if-statement, leaving the _only_ thing that actually calls "page_mkclean()" to be the "clear_page_dirty_for_io()" call. Do you still see corruption? Linus