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:19:02 +0000 (18:19 -0700)
commit6e514ac663f8d9ad5d533d9beb163b9d3142632f
tree5c83e6fd0bfda77ae8f7fb4c59c2fb92ea6e82cd
parent39dfe5bb5f6adba9c4a127695440fa69b2f2f361
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