ext4: replace BUG() with return -EIO in ext4_ext_get_blocks
authorSurbhi Palande <surbhi.palande@canonical.com>
Mon, 14 Dec 2009 14:53:52 +0000 (09:53 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 14 Dec 2009 14:53:52 +0000 (09:53 -0500)
commit034fb4c95fc0fed4ec4a50778127b92c6f2aec01
tree663bf0c4d0123f6aeeda8fd7124a5921433101ba
parent51b7e3c9fbe7d22d4e355101e9a73b44fc5c9feb
ext4: replace BUG() with return -EIO in ext4_ext_get_blocks

This patch fixes the Kernel BZ #14286.  When the address of an extent
corresponding to a valid block is corrupted, a -EIO should be reported
instead of a BUG().  This situation should not normally not occur
except in the case of a corrupted filesystem.  If however it does,
then the system should not panic directly but depending on the mount
time options appropriate action should be taken. If the mount options
so permit, the I/O should be gracefully aborted by returning a -EIO.

http://bugzilla.kernel.org/show_bug.cgi?id=14286

Signed-off-by: Surbhi Palande <surbhi.palande@canonical.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/extents.c