Re: Block-level CRC checks
От | Simon Riggs |
---|---|
Тема | Re: Block-level CRC checks |
Дата | |
Msg-id | 1259974318.13774.39345.camel@ebony обсуждение исходный текст |
Ответ на | Re: Block-level CRC checks (Chuck McDevitt <cmcdevitt@greenplum.com>) |
Список | pgsql-hackers |
On Fri, 2009-12-04 at 14:47 -0800, Chuck McDevitt wrote: > A curiosity question regarding torn pages: How does this work on file > systems that don't write in-place, but instead always do > copy-on-write? > > My example would be Sun's ZFS file system (In Solaris & BSD). Because > of its "snapshot & rollback" functionality, it never writes a page > in-place, but instead always copies it to another place on disk. How > does this affect the corruption caused by a torn write? > > Can we end up with horrible corruption on this type of filesystem > where we wouldn't on normal file systems, where we are writing to a > previously zeroed area on disk? > > Sorry if this is a stupid question... Hopefully somebody can reassure > me that this isn't an issue. Think we're still good. Not a stupid question. Hint bits are set while the block is in shared_buffers and setting a hint bit dirties the page, but does not write WAL. Because the page is dirty we re-write the whole block at checkpoint, by bgwriter cleaning or via dirty page eviction. So ZFS is OK, but we do more writing than we want to, sometimes. -- Simon Riggs www.2ndQuadrant.com
В списке pgsql-hackers по дате отправления: