2.0.30: Error behaviour of ext2

Jochen Karrer (karrer@wpfd25.physik.uni-wuerzburg.de)
Thu, 26 Jun 1997 19:42:46 +0200 (MET DST)

I have a removeable disk with an ext2 filesystem.
This disk has a read error in an inode block:

ext2_write_inode: unable to read i-node block - inode=2053, block=8197

The error behavior is set to remount-ro but I still get a kernelpanic:
wpfd26 kernel: Kernel panic: EXT2-fs panic (device 08:04): ....
The error occurs in linux/fs/ext2/inode.c ext2_read_inode().

I can continue working, but the problem is that the device is blocked
forever because some tasks will hang forever in
__wait_on_inode(struct inode * inode); in fs/inode.c

This behaviour is not very nice because every user with a defect
disk can force me to reboot the machine, and the disks will not be
cleanly unmounted on shutdown.

What would be the correct way to continue if the inode can not be read ?