Re: CRCs

From: ncm(at)zembu(dot)com (Nathan Myers)
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: CRCs
Date: 2001-01-12 22:01:16
Message-ID: 20010112140116.V571@store.zembu.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Jan 12, 2001 at 12:35:14PM -0800, Nathan Myers wrote:
> Vadim wrote:
> > What do you mean by "external agents"?
>
> External agents include RAM bit drops and noise on cables when
> blocks are (read and re-) written. Every time data is moved,
> there is a chance of an undetected error being introduced. The
> disk only promises (within limits) to deliver the sector that
> was written; it doesn't promise that what was written is what
> you meant to write. Errors of this sort accumulate unless
> caught by end-to-end checks.
>
> External agents include bugs in database code, bugs in OS code,
> bugs in disk controller firmware, and bugs in disk firmware.
> Each can result in clobbered data, blocks being written in the
> wrong place, blocks said to be written but not, and any number
> of other variations. All this code is written by humans, and
> even the most thorough testing cannot cover even the majority
> of code paths.
>
> External agents include sector errors not caught by the disk CRC:
> the disk only promises to keep the number of errors delivered to a
> reasonably low (and documented) level. It's up to the user to
> notice the errors that slip through.

Interestingly, right after I posted this I noticed that cron
noticed a corrupt inode in /dev on my machine. The disk is
happy with it, but I'm not...

Nathan Myers
ncm(at)zembu(dot)com

In response to

  • CRCs at 2001-01-12 20:35:14 from Nathan Myers

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2001-01-12 22:01:54 SIGTERM -> elog(FATAL) -> proc_exit() is probably a bad idea
Previous Message Larry Rosenman 2001-01-12 21:58:36 CVS updates on committers list...