[lkml]   [2011]   [Apr]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[PATCH 0/2] Add inode checksum support to ext4
    Hi all,

    I spent last week analyzing a client's corrupted ext3 image to see if I could
    determine what had gone wrong and caused the filesystem to blow apart. As best
    as I could tell, a data block got miswritten into a different sector ... which
    happened to be an indirect block. Some time later the indirect block, which
    now pointed at one of the inode tables (among other things that shouldn't ever
    become file data) was loaded as part of a file write, which caused that inode
    table to be blown to smithereens. Just for fun I tried reading from one of
    these busted-inode files and ... failed to encounter any errors. Somehow, they
    didn't find it funny that ext3 would read block numbers from a table with the
    contents "" with a straight face. Fortunately there were backups. :)

    The client at this point asked if ext4 would do a better job of sanity
    checking, which got me to wonder why ext4 checksums block groups but not
    inodes. It's on Ted's todo list, but apparently nobody wrote any patch, so I
    did. The following two patches are a first draft of adding inode checksum
    support to both the kernel driver and to the various e2fsprogs.

    If you have an existing ext* fs with 256-byte inodes, you ought to be able to
    "tune2fs -O inode_csum /dev/XXX", fsck /dev/XXX, and mount the filesystem with
    checksumming enabled. It seems to work for me (i386/x86-64), but I'm looking
    for comments for improvement and perhaps some more testing (ppc64 is still
    building). This inode checksum feature is not enabled by default.


     \ /
      Last update: 2011-04-07 22:55    [W:0.022 / U:106.896 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site