[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:02:01 -0500
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
2) Is postgres allocating sparse files? If yes, please have it fully
allocate the file instead.
3) Is postgres using preallocation (fallocate)? If yes, please have it
fully allocate the file instead
-chris
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]