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 по дате отправления: