EXT2-fs errors with 2.0.30

Andreas Muck (postmaster@koala.rhein-neckar.de)
21 Sep 1997 23:11:53 GMT


Hello

I thought that it's a problem with inn-1.5.1 so I upgraded to inn-1.6b3,
but it didn't help. The problem is that my news-spool partition gets
corrupted about once a week, usually when there's a lot of activity
on the system (rnews spooling in UUCP batches while I run all kind of
memory intensive programs (e.g. netscape :)

It goes to a state where not even e2fsck can recover it, only solution
is mkfs and backup restore (just happened again an hour ago). I tried
to backup the partition *after* it got corrupted, unmount, mkfs remount
and restore the backup. This corrupted the filesystem again so I had to
restore only selected files which looked ok in the backup.

The corrupted files usually change to huge directories or other special
files (character or block files and sometimes to "unknown file type" -
shows up as ?Swx-w-r-x or something similar in the ls output) and cannot
be deleted (rm: Operation not permitted).

The hard drive is a WDC AC21200H E-IDE drive (I just got a SCSI controler,
but no money for SCSI drives yet...), kernel 2.0.30. I'm not sure,
but I think the problem is kernel related.

badblocks and mke2fs -c don't show any errors and if I remember right
the errors occured when I mounted another partition on the news-spool
too. I've been running a WWW cache on the "bad" partition in the meantime
without any errors.

Any ideas or suggestions?
Andi

An excerpt from the kernel messages while accessing the corrupted
filesystem:

EXT2-fs error (device 03:42): ext2_find_entry: bad entry in directory #35720: rec_len is too small for name_len - offset=0, inode=155084132, rec_len=13628, name_len=14198
EXT2-fs error (device 03:42): ext2_add_entry: bad entry in directory #35720: rec_len is too small for name_len - offset=0, inode=155084132, rec_len=13628, name_len=14198
EXT2-fs error (device 03:42): ext2_add_entry: bad entry in directory #35720: rec_len is too small for name_len - offset=0, inode=155084132, rec_len=13628, name_len=14198
EXT2-fs error (device 03:42): ext2_find_entry: bad entry in directory #35720: rec_len is too small for name_len - offset=0, inode=155084132, rec_len=13628, name_len=14198
EXT2-fs error (device 03:42): ext2_add_entry: bad entry in directory #35720: rec_len is too small for name_len - offset=0, inode=155084132, rec_len=13628, name_len=14198
EXT2-fs error (device 03:42): ext2_add_entry: bad entry in directory #35720: rec_len is too small for name_len - offset=0, inode=155084132, rec_len=13628, name_len=14198
attempt to access beyond end of device
03:42: rw=0, want=959919671, limit=205632
attempt to access beyond end of device
03:42: rw=0, want=959919671, limit=205632
[lots of those while reading off the filesystem...]
EXT2-fs error (device 03:42): ext2_readdir: bad entry in directory #20310: rec_len % 4 != 0 - offset=0, inode=4294967295, rec_len=65535, name_len=65535
EXT2-fs error (device 03:42): ext2_readdir: bad entry in directory #20311: inode out of bounds - offset=0, inode=606717, rec_len=1024, name_len=0
EXT2-fs error (device 03:42): ext2_readdir: bad entry in directory #20312: inode out of bounds - offset=0, inode=606717, rec_len=1024, name_len=0
attempt to access beyond end of device
03:42: rw=0, want=721897, limit=205632
attempt to access beyond end of device
03:42: rw=0, want=1702128738, limit=205632
attempt to access beyond end of device
03:42: rw=0, want=1952542323, limit=205632
attempt to access beyond end of device
03:42: rw=0, want=6649450, limit=205632
attempt to access beyond end of device
03:42: rw=0, want=721897, limit=205632
attempt to access beyond end of device
03:42: rw=0, want=721897, limit=205632
attempt to access beyond end of device
03:42: rw=0, want=1702128738, limit=205632
attempt to access beyond end of device
03:42: rw=0, want=1952542323, limit=205632
attempt to access beyond end of device
03:42: rw=0, want=6649450, limit=205632
attempt to access beyond end of device
03:42: rw=0, want=721897, limit=205632
EXT2-fs warning (device 03:42): ext2_free_inode: bit already cleared for inode 40164
EXT2-fs warning (device 03:42): ext2_free_inode: bit already cleared for inode 40165