[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] hunt for 2.6.37 dm-crypt+ext4 corruption? (was: Re: dm-crypt barrier support is effective)
- From: Chris Mason <chris mason oracle com>
- To: Jon Nelson <jnelson jamponi net>
- Cc: htejun <htejun gmail com>, Matt <jackdachef gmail com>, Mike Snitzer <snitzer redhat com>, Linux Kernel <linux-kernel vger kernel org>, dm-devel <dm-devel redhat com>, Andi Kleen <andi firstfloor org>, htd <htd fancy-poultry org>, linux-ext4 <linux-ext4 vger kernel org>, linux-btrfs <linux-btrfs vger kernel org>, Milan Broz <mbroz redhat com>
- Subject: Re: [dm-devel] 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
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 <chris mason oracle com> 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 <chris mason oracle com> wrote:
> >> >> postgresql errors. Typically, header corruption but from the limited
> >> >> 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. Zeros tend to
> >> > come from some piece of code explicitly filling a page with zeros, and
> >> > that often happens in the corner cases for O_DIRECT and a few other
> >> > 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 (as
> >> ext4) without any crypt-y bits.
> >> It takes more iterations but out of 6 tests I had one failure: same
> >> type of thing, 'invalid page header in block ....'.
> >>
> >> I can't guarantee that it is a full-page of zeroes, just what I saw
> >> from the (limited) stracing I did.
> >
> > Fantastic. Now for our usual suspects:
> >
> > 1) Is postgres using O_DIRECT? If yes, please turn it off
>
> According to strace, O_DIRECT didn't show up once during the test.
>
> > 2) Is postgres allocating sparse files? If yes, please have it fully
> > allocate the file instead.
>
> That's a tough one. I don't think postgresql does that, but I'm not an
> expert here.
>
> > 3) Is postgres using preallocation (fallocate)? If yes, please have it
> > fully allocate the file instead
>
> 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
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]