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@xxxxxxxxxx> 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@xxxxxxxxxx> 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 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel