git: HAMMER VFS - Handle critical I/O errors without panicing

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Nov 2 17:48:49 PST 2009


commit 2faf07370caaeaef6f64df1610d34b421946c538
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Nov 2 17:42:21 2009 -0800

    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.

Summary of changes:
 sys/vfs/hammer/hammer.h         |    1 +
 sys/vfs/hammer/hammer_btree.c   |    3 ++-
 sys/vfs/hammer/hammer_io.c      |   15 +++++++++++++++
 sys/vfs/hammer/hammer_ondisk.c  |   10 ++++++----
 sys/vfs/hammer/hammer_recover.c |   36 +++++++++++++++++++++++++++++-------
 sys/vfs/hammer/hammer_vnops.c   |    1 -
 6 files changed, 53 insertions(+), 13 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2faf07370caaeaef6f64df1610d34b421946c538


-- 
DragonFly BSD source repository





More information about the Commits mailing list