From: Chris Mason Subject: Re: hunt for 2.6.37 dm-crypt+ext4 corruption? (was: Re: dm-crypt barrier support is effective) Date: Tue, 07 Dec 2010 15:33:46 -0500 Message-ID: <1291753963-sup-6290@think> References: <4CF692D1.1010906@redhat.com> <4CF6B3E8.2000406@redhat.com> <20101201212310.GA15648@redhat.com> <20101204193828.GB13871@redhat.com> <20101207142145.GA27861@think> <20101207182243.GB21112@redhat.com> <1291747731-sup-3099@think> <1291751698-sup-9297@think> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Mike Snitzer , Matt , Milan Broz , Andi Kleen , linux-btrfs , dm-devel , Linux Kernel , htd , htejun , linux-ext4 To: Jon Nelson Return-path: Received: from rcsinet10.oracle.com ([148.87.113.121]:49102 "EHLO rcsinet10.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754468Ab0LGUey (ORCPT ); Tue, 7 Dec 2010 15:34:54 -0500 In-reply-to: Sender: linux-ext4-owner@vger.kernel.org List-ID: Excerpts from Jon Nelson's message of 2010-12-07 15:25:47 -0500: > On Tue, Dec 7, 2010 at 2:02 PM, Chris Mason = wrote: > > Excerpts from Jon Nelson's message of 2010-12-07 14:34:40 -0500: > >> On Tue, Dec 7, 2010 at 12:52 PM, Chris Mason wrote: > >> >> postgresql errors. Typically, header corruption but from the li= mited > >> >> visibility I've had into this via strace, what I see is zeroed = pages > >> >> where there shouldn't be. > >> > > >> > This sounds a lot like a bug higher up than dm-crypt. =C2=A0Zero= s tend to > >> > come from some piece of code explicitly filling a page with zero= s, and > >> > that often happens in the corner cases for O_DIRECT and a few ot= her > >> > places in the filesystem. > >> > > >> > Have you tried triggering this with a regular block device? > >> > >> I just tried the whole set of tests, but with /dev/sdb directly (a= s > >> ext4) without any crypt-y bits. > >> It takes more iterations but out of 6 tests I had one failure: sam= e > >> type of thing, 'invalid page header in block ....'. > >> > >> I can't guarantee that it is a full-page of zeroes, just what I sa= w > >> from the (limited) stracing I did. > > > > Fantastic. Now for our usual suspects: > > > > 1) Is postgres using O_DIRECT? =C2=A0If yes, please turn it off >=20 > According to strace, O_DIRECT didn't show up once during the test. >=20 > > 2) Is postgres allocating sparse files? =C2=A0If yes, please have i= t fully > > allocate the file instead. >=20 > That's a tough one. I don't think postgresql does that, but I'm not a= n > expert here. >=20 > > 3) Is postgres using preallocation (fallocate)? =C2=A0If yes, pleas= e have it > > fully allocate the file instead >=20 > As far as strace is concerned, postgreql is not using fallocate in > this version. Well, the only other usual suspect would be mmap. Does the strace show that you're using read/write for file IO or is it doing a lot of mmaps on the files? -chris -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" i= n the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html