HAMMER VFS - Handle critical I/O errors without panicing
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 3 Nov 2009 01:42:21 +0000 (17:42 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 3 Nov 2009 01:42:21 +0000 (17:42 -0800)
commit2faf07370caaeaef6f64df1610d34b421946c538
tree3551338731e933a12466553fe941945139c713d3
parentfc73edd859200813dad24f1ad58f5f4c6991e5ec
HAMMER VFS - Handle critical I/O errors without panicing

Physically pull the SATA cable while pounding the disk via a HAMMER
mounted filesystem and fix the error paths that are not handled properly.
Make umount -f work properly.

Reminder: Currently if HAMMER hits a critical media error it drops down
into read-only mode and can only be read or unmounted after that.

* Do not try to test the CRC for bread data if the bread fails.

* Clean up the reference count on hammer_buffer structures related to
  dangling modified and ioerror bits.

* Remove a debugging kprintf() that was lousing up the console output.
sys/vfs/hammer/hammer.h
sys/vfs/hammer/hammer_btree.c
sys/vfs/hammer/hammer_io.c
sys/vfs/hammer/hammer_ondisk.c
sys/vfs/hammer/hammer_recover.c
sys/vfs/hammer/hammer_vnops.c