Re: Block-level CRC checks

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Aidan Van Dyk <aidan(at)highrise(dot)ca>, Gregory Stark <stark(at)enterprisedb(dot)com>, Martijn van Oosterhout <kleptog(at)svana(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Greg Stark <greg(dot)stark(at)enterprisedb(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Block-level CRC checks
Date: 2008-11-13 19:54:19
Message-ID: 491C85EB.7020708@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alvaro Herrera wrote:
> XFS, for example, zeroes out during recovery any block
> that was written to but not fsync'ed before a crash. This means that if
> we change a hint bit after a checkpoing and mark the page dirty, the
> system can write the page. Suppose we crash at this point. On
> recovery, XFS will zero out the block, but there will be nothing with
> which to recovery it, because there's no backup block ...

Really? That would mean that you're prone to lose data if you run
PostgreSQL on XFS, even without the CRC patch.

I doubt that's true, though. Google found this:

http://marc.info/?l=linux-xfs&m=122549156102504&w=2

See the bottom of that mail.

Although, Florian Weimer suggested earlier in this thread that IBM DTLA
disks have exactly that problem; a sector could be zero-filled if the
write is interrupted.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Meskes 2008-11-13 19:55:15 gram.y => preproc.y
Previous Message Tom Lane 2008-11-13 19:53:15 Re: Simple postgresql.conf wizard