Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754822Ab1CKQe7 (ORCPT ); Fri, 11 Mar 2011 11:34:59 -0500 Received: from rcsinet10.oracle.com ([148.87.113.121]:36930 "EHLO rcsinet10.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752679Ab1CKQey (ORCPT ); Fri, 11 Mar 2011 11:34:54 -0500 Content-Type: text/plain; charset=UTF-8 From: Chris Mason To: "Darrick J. Wong" Cc: Dave Chinner , Jan Kara , Joel Becker , "Martin K. Petersen" , Jens Axboe , linux-kernel , linux-fsdevel , Mingming Cao , linux-scsi Subject: Re: [RFC] block integrity: Fix write after checksum calculation problem In-reply-to: <20110310235722.GA1110@tux1.beaverton.ibm.com> References: <20110222020022.GH32261@tux1.beaverton.ibm.com> <20110223202446.GG4020@noexit> <1298493173-sup-8301@think> <20110224164758.GH23042@quack.suse.cz> <1298566775-sup-730@think> <20110224182732.GV27190@tux1.beaverton.ibm.com> <1298897186-sup-9394@think> <20110304210724.GF27190@tux1.beaverton.ibm.com> <20110308045626.GD1956@dastard> <20110310235722.GA1110@tux1.beaverton.ibm.com> Date: Fri, 11 Mar 2011 11:34:05 -0500 Message-Id: <1299860233-sup-4443@think> User-Agent: Sup/git Content-Transfer-Encoding: 8bit X-Source-IP: acsmt354.oracle.com [141.146.40.154] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A090204.4D7A4F1D.0163,ss=1,fgs=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2280 Lines: 42 Excerpts from Darrick J. Wong's message of 2011-03-10 18:57:22 -0500: > On Tue, Mar 08, 2011 at 03:56:26PM +1100, Dave Chinner wrote: > > > On Fri, Mar 04, 2011 at 01:07:24PM -0800, Darrick J. Wong wrote: > > > On Mon, Feb 28, 2011 at 07:54:05AM -0500, Chris Mason wrote: > > > > Excerpts from Darrick J. Wong's message of 2011-02-24 13:27:32 -0500: > > > > > On Thu, Feb 24, 2011 at 12:37:53PM -0500, Chris Mason wrote: > > > > > > Excerpts from Jan Kara's message of 2011-02-24 11:47:58 -0500: > > > > > > > On Wed 23-02-11 15:35:11, Chris Mason wrote: > > > > > > > > Excerpts from Joel Becker's message of 2011-02-23 15:24:47 -0500: > > > > > > > > > On Tue, Feb 22, 2011 at 11:45:44AM -0500, Martin K. Petersen wrote: > > > > > > > > > > Also, DIX is only the tip of the iceberg. Many other impending > > > > > > > > > > technologies feature checksums and require pages to be stable during I/O > > > > > > > > > > due to checksumming, encryption and so on. > > > > > > > > > > > > > > > > > > > > The VM is already trying to do the right thing. We just need the > > > > > > > > > > relevant filesystems to catch up. > > > > > > > > > > > > > > > > > > ocfs2 handles stable metadata for its checksums when feeding > > > > > > > > > things to the journal. If we're doing pagecache-based I/O, is the > > > > > > > > > pagecache going to help here for data? > > > > > > > > > > > > > > > > Data is much easier than metadata. All you really need is to wait on > > > > > > > > writeback in file_write, wait on writeback in page_mkwrite, and make > > Hrm... I've been looking for a file_write in ext4; was the aio_write function > pointer what you had in mind here? Your change to grab_cache_page_write_begin looks good to me, at least for ext4. For ext3 you have to actually go in and wait for each of the buffer heads in the page, since ext3 (and reiserfs) will write the buffer heads directly without using writepage. Have you confirmed by looking at the block mapping that your crc errors are from data blocks? -chris -- 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/