ext4: don't allow ext4_free_blocks() to fail due to ENOMEM
authorTheodore Ts'o <tytso@mit.edu>
Sat, 13 Jul 2013 04:40:35 +0000 (00:40 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 22 Jul 2013 01:21:33 +0000 (18:21 -0700)
commit7557d8d5a46aaa4d0ec98bffdeedf9f3c7464088
tree6606be5385d264bfb902f499c16540676dbba802
parentbbb1d9216c9d8f5ac0aca90719512deae7f989ea
ext4: don't allow ext4_free_blocks() to fail due to ENOMEM

commit e7676a704ee0a1ef71a6b23760b5a8f6896cb1a1 upstream.

The filesystem should not be marked inconsistent if ext4_free_blocks()
is not able to allocate memory.  Unfortunately some callers (most
notably ext4_truncate) don't have a way to reflect an error back up to
the VFS.  And even if we did, most userspace applications won't deal
with most system calls returning ENOMEM anyway.

Reported-by: Nagachandra P <nagachandra@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ext4/mballoc.c