Subject: inode shift register.
To: None <current-users@sun-lamp.cs.berkeley.edu>
From: Bill Sommerfeld <sommerfeld@orchard.medford.ma.us>
List: current-users
Date: 01/10/1994 23:05:57
I just spent the past half hour recovering from an, umm, interesting failure.

When the system refused to come up into multi-user mode cleanly, I hit
the button and booted single user.  

fsck reported several trashed inodes starting around inode 32.

After a little bit of poking around, I discovered that the inodes on
my root partition between inodes 32 and 63 inclusive had all been
shifted *up* by 4... the file contained in inode N had contents which
were appropriate for the file contained in inode N-4, in the range
36>N>64.  inodes 32..36 inclusive are unallocated as far as I can
tell.  Inodes >= 64 were all fine..

This permuted most interesting config files in /etc.

No wd0 error messages had been seen prior to the crash.

Since each FFS inode is 128 bytes, this implies that a disk write may
have "missed" by 512 bytes (1 disk block?).

Fortunately for my sanity, most of the files in /etc were easy to
recognize.

The specifics:

No-name 486DX33, 16 meg memory, 256K cache
	2x202MB IDE drives (Maxtor 7213 AT); root on wd0
	one adaptec 1540B SCSI controller with CD-ROM, QIC tape,
		hard drive.
	running netbsd-current as of ~1 jan 1994.

Anyone else seen anything like this?  Anyone else stop long enough
after a corrupted root partition to look more closely at the
corruption?

						- Bill

------------------------------------------------------------------------------