Re: Block-level CRC checks

Поиск
Список
Период
Сортировка
От Aidan Van Dyk
Тема Re: Block-level CRC checks
Дата
Msg-id 20081002171916.GA16893@yugib.highrise.ca
обсуждение исходный текст
Ответ на Re: Block-level CRC checks  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
* Bruce Momjian <bruce@momjian.us> [081002 13:07]:
> 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.

Ah, I see...  So your full-page-write in the WAL, protecting the torn
page has to be aware of the need for a valid CRC32 as well...


-- 
Aidan Van Dyk                                             Create like a god,
aidan@highrise.ca                                       command like a king,
http://www.highrise.ca/                                   work like a slave.

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Robert Treat
Дата:
Сообщение: Re: Function management in PG
Следующее
От: "Jonah H. Harris"
Дата:
Сообщение: Re: Block-level CRC checks