]> git.baikalelectronics.ru Git - kernel.git/commit
ext4: handle deleting corrupted indirect blocks
authorDuane Griffin <duaneg@dghda.com>
Fri, 11 Jul 2008 23:27:31 +0000 (19:27 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 11 Jul 2008 23:27:31 +0000 (19:27 -0400)
commit924c1d809a4cbf2ad0807df4939aadb37ec18d29
treee878c1c7e24115ac63d93976f4382280db006ae7
parent28b4c2aa6d8b72d2f2824da237c4cdcf928c6f5c
ext4: handle deleting corrupted indirect blocks

While freeing indirect blocks we attach a journal head to the parent buffer
head, free the blocks, then journal the parent. If the indirect block list
is corrupted and points to the parent the journal head will be detached
when the block is cleared, causing an OOPS.

Check for that explicitly and handle it gracefully.

This patch fixes the third case (image hdb.20000057.nullderef.gz)
reported in http://bugzilla.kernel.org/show_bug.cgi?id=10882.

Signed-off-by: Duane Griffin <duaneg@dghda.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/inode.c