disk-block integrity after system crashes

shekita at crystal.UUCP shekita at crystal.UUCP
Fri Jul 12 15:01:54 AEST 1985


The problem is this: We have a database file system that
sits on a Unix raw disk. Our current goal is to add recovery
to the database. In order to do this we need to know some
things about disk controllers.

Suppose a write operation is initiated (i.e., the controller
begins processing the write request) and a system crash
occurs. 

1) Will the write finish? It seems that it shouldn't, since
   RAM will probably get flakey as power drops, and then
   a block of garbage will get written to disk.

2) If the write doesn't finish, will the block be detectably
   bad? For example, would the block's CRC be wrong, causing
   the controller to return an error on subsequent reads.

In essence, we'd like to know if a block write can be considered
atomic, and if it's not atomic, we'd like to know if there's
a way to detect whether the write was interrupted and/or whether
garbage got written.

Granted, the answers to these questions will be device dependent,
but we (unfortunately) seek general information. Any particular
expertise that you could share would certainly be useful, though.
Incidently, we currently run on an Eagle drive.
			Eugene Shekita
			Computer Science Department
			University of Wisconsin



More information about the Comp.unix.wizards mailing list