Re: Block-level CRC checks

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>
Cc: Aidan Van Dyk <aidan(at)highrise(dot)ca>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Brian Hurt <bhurt(at)janestcapital(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Block-level CRC checks
Date: 2008-10-02 17:07:31
Message-ID: 200810021707.m92H7Vx05677@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Jonah H. Harris wrote:
> PG doesn't care because during hint-bits aren't logged and during
> normal WAL replay, the old page will be pulled from the WAL. I
> believe what Tom is referring to is that the buffer PG sends to
> write() can still be modified by way of SetHintBits between the time
> smgrwrite is called and the time the actual write takes place, which
> is why we can't rely on a checksum of the buffer pointer passed to
> smgrwrite and friends.
>
> If we're double-buffering the write, I don't see where we could be
> introducing a torn-page, as we'd actually be writing a copied version
> of the buffer. Will look into this.

The torn page is during kernel write to disk, I assume, so it is still
possible.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ron Mayer 2008-10-02 17:11:10 Re: Interval output bug in HAVE_INT64_TIMESTAMP
Previous Message Jonah H. Harris 2008-10-02 16:59:45 Re: Block-level CRC checks