From: Chris Mason <chris.mason@oracle.com>
To: Jon Nelson <jnelson@jamponi.net>
Cc: Mike Snitzer <snitzer@redhat.com>, Matt <jackdachef@gmail.com>,
Milan Broz <mbroz@redhat.com>, Andi Kleen <andi@firstfloor.org>,
linux-btrfs <linux-btrfs@vger.kernel.org>,
dm-devel <dm-devel@redhat.com>,
Linux Kernel <linux-kernel@vger.kernel.org>,
htd <htd@fancy-poultry.org>, htejun <htejun@gmail.com>,
linux-ext4 <linux-ext4@vger.kernel.org>
Subject: Re: hunt for 2.6.37 dm-crypt+ext4 corruption? (was: Re: dm-crypt barrier support is effective)
Date: Tue, 07 Dec 2010 16:02:30 -0500 [thread overview]
Message-ID: <1291755258-sup-8760@think> (raw)
In-Reply-To: <AANLkTim8uCmFK=LjkMmq_1O0KE3AiN_7g41AO0woxMv7@mail.gmail.com>
Excerpts from Jon Nelson's message of 2010-12-07 15:48:58 -0500:
> On Tue, Dec 7, 2010 at 2:41 PM, Chris Mason <chris.mason@oracle.com> wrote:
> > 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.
> >
> > Ok, please compare du -k and du -k --apparent-size for each of the
> > files involved in the postgres run.
>
> Because this is all done in a transaction (which fails), and because
> the table is a TEMPORARY table, there *are* no files once the
> transaction fails because postgresql unlinks them.
>
> I can modify the test to use real tables and do things outside of a
> transaction, however.
That would really help.
>
> I was using fdatasync[1] and now I'm using sync. I'm on 9 iterations
> without a failure (on ext4 - no crypt). Theoretically, these settings
> only make a difference in the event of a crash. However, could they
> make a difference in terms of the paths taken in the kernel?
Yes, the paths are different but similar. If ext4 is causing zeros to
get stuffed somewhere, it should happen for both O_SYNC and fdatasync.
-chris
next prev parent reply other threads:[~2010-12-07 21:02 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20101114205925.GA20451@redhat.com>
[not found] ` <AANLkTi=rVyozmvqCJD1kGqnV3uEn-0ak6B12-O_9XOKJ@mail.gmail.com>
[not found] ` <4CE05A9E.9090204@redhat.com>
[not found] ` <AANLkTimT0t3xqgKdAn7MBPD7ED-9uPS+WJE0z+K8tciu@mail.gmail.com>
[not found] ` <AANLkTik_p0yxQBQ3ehHWYPLfiqxGbSNUT5XUk9dC5-x6@mail.gmail.com>
[not found] ` <20101201165229.GC13415@redhat.com>
[not found] ` <AANLkTinG209iRAXgpNC0vNpn1C02wkYmVfveXRBqsKV-@mail.gmail.com>
[not found] ` <4CF692D1.1010906@redhat.com>
[not found] ` <AANLkTimA2PPXZoOHYgeOEV2ocrojeuBby8MYDYJ1yjx1@mail.gmail.com>
[not found] ` <4CF6B3E8.2000406@redhat.com>
2010-12-01 21:23 ` hunt for 2.6.37 dm-crypt+ext4 corruption? (was: Re: dm-crypt barrier support is effective) Mike Snitzer
2010-12-02 21:30 ` Matt
2010-12-04 19:18 ` Matt
2010-12-04 19:38 ` Mike Snitzer
2010-12-04 23:47 ` Matt
2010-12-07 14:21 ` Chris Mason
2010-12-07 18:10 ` Jon Nelson
2010-12-07 18:15 ` Chris Mason
2010-12-07 18:22 ` Mike Snitzer
2010-12-07 18:45 ` Jon Nelson
2010-12-07 18:52 ` Chris Mason
2010-12-07 19:34 ` Jon Nelson
2010-12-07 20:02 ` Chris Mason
2010-12-07 20:25 ` Jon Nelson
2010-12-07 20:33 ` Chris Mason
2010-12-07 20:36 ` Jon Nelson
2010-12-07 20:41 ` Chris Mason
2010-12-07 20:48 ` Jon Nelson
2010-12-07 21:02 ` Chris Mason [this message]
2010-12-08 3:29 ` Jon Nelson
2010-12-08 8:03 ` hunt for 2.6.37 dm-crypt+ext4 corruption? Milan Broz
2010-12-08 12:20 ` hunt for 2.6.37 dm-crypt+ext4 corruption? (was: Re: dm-crypt barrier support is effective) Chris Mason
2010-12-16 3:37 ` Dave Chinner
2010-12-16 12:29 ` Chris Mason
2010-12-08 3:55 ` Jon Nelson
2010-12-07 19:35 ` Ted Ts'o
2010-12-07 21:01 ` Jon Nelson
2010-12-08 3:37 ` Jon Nelson
[not found] ` <AANLkTim8UTkfxXV0AkEfjNq3tcmnrXdh6BQ1ibY5iYPy@mail.gmail.com>
2010-12-08 15:26 ` Jon Nelson
2010-12-09 18:01 ` Ted Ts'o
2010-12-09 18:10 ` Jon Nelson
2010-12-09 20:13 ` Ted Ts'o
2010-12-09 20:38 ` Jon Nelson
[not found] ` <AANLkTik=ivDrBEzg1wQAp5AFzNtRRq1=NpvnowggU=_0@mail.gmail.com>
2010-12-09 23:16 ` Andi Kleen
2010-12-10 1:38 ` Chris Mason
2010-12-10 1:53 ` Matt
2010-12-10 2:38 ` Ted Ts'o
2010-12-10 6:52 ` Jon Nelson
2010-12-10 14:58 ` Jon Nelson
[not found] ` <AANLkTikeiv2jQM5hhghs1Zd2d=5CbRLKMgYvqHqpm76m@mail.gmail.com>
2010-12-10 16:54 ` Jon Nelson
[not found] ` <AANLkTinMt6saGeeX3MbwAzZ-+f6AL5BegeFqyPgGwiDo@mail.gmail.com>
2010-12-11 2:14 ` Jon Nelson
[not found] ` <AANLkTi=cn04WZGMnVX6ie5PSM+9v0tJSSg0kD8_W5N11@mail.gmail.com>
2010-12-12 1:40 ` Ted Ts'o
2010-12-12 2:34 ` Ted Ts'o
2010-12-12 3:16 ` Jon Nelson
[not found] ` <AANLkTim=i8wDnML+K4uGK_neNDCiWxtKGDx01O+3joaE@mail.gmail.com>
2010-12-12 10:18 ` Jon Nelson
[not found] ` <AANLkTinhHTqqpP=pQ8Foyc9xeaZi65GHGHGY51OyZtvF@mail.gmail.com>
2010-12-12 12:43 ` Ted Ts'o
2010-12-12 13:11 ` Jon Nelson
2010-12-13 2:06 ` Ted Ts'o
2010-12-13 18:56 ` Jon Nelson
[not found] ` <AANLkTinMWS-yyzWJ3oBo_KS9jXt4p4pveo+SPTLiWnCt@mail.gmail.com>
2010-12-15 19:15 ` Matt
2010-12-15 19:16 ` Andi Kleen
2010-12-15 19:25 ` Matt
2010-12-15 19:28 ` Matt
2010-12-10 1:58 ` Mike Fedyk
2010-12-10 2:00 ` Chris Mason
2010-12-10 2:05 ` Jon Nelson
2010-12-04 23:52 ` Matt
2010-12-05 10:09 ` Heinz Diehl
2010-12-05 10:21 ` hunt for 2.6.37 dm-crypt+ext4 corruption? Milan Broz
2010-12-05 12:49 ` Heinz Diehl
2010-12-05 13:24 ` [dm-devel] " Theodore Tso
2010-12-05 13:44 ` Matt
2010-12-05 14:02 ` Ted Ts'o
2010-12-05 14:33 ` Heinz Diehl
2010-12-05 20:17 ` Daniel J Blueman
2010-12-06 7:08 ` Heinz Diehl
2010-12-05 20:28 ` Andi Kleen
2010-12-05 21:15 ` Mike Snitzer
2010-12-05 21:42 ` [dm-devel] " Milan Broz
2010-12-06 2:37 ` Valdis.Kletnieks
2011-01-06 15:56 ` Heinz Diehl
2011-01-07 16:45 ` Matt
2010-12-05 13:30 ` hunt for 2.6.37 dm-crypt+ext4 corruption? (was: Re: dm-crypt barrier support is effective) Matt
2010-12-05 0:57 ` Matt
2010-12-04 20:51 ` Heinz Diehl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1291755258-sup-8760@think \
--to=chris.mason@oracle.com \
--cc=andi@firstfloor.org \
--cc=dm-devel@redhat.com \
--cc=htd@fancy-poultry.org \
--cc=htejun@gmail.com \
--cc=jackdachef@gmail.com \
--cc=jnelson@jamponi.net \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mbroz@redhat.com \
--cc=snitzer@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).