ext4: propagate errors up to ext4_find_entry()'s callers
authorTheodore Ts'o <tytso@mit.edu>
Sat, 23 Aug 2014 21:47:19 +0000 (17:47 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 5 Oct 2014 20:41:12 +0000 (13:41 -0700)
commit3f50e517f4e5150fba0d00a97a5a09298cc1e0dd
treecbc7c9dea96d1e43cba277729fdaffc9fbcf953c
parent7dcde737525d27f9368f80b043806c622c67aa25
ext4: propagate errors up to ext4_find_entry()'s callers

commit 36de928641ee48b2078d3fe9514242aaa2f92013 upstream.

If we run into some kind of error, such as ENOMEM, while calling
ext4_getblk() or ext4_dx_find_entry(), we need to make sure this error
gets propagated up to ext4_find_entry() and then to its callers.  This
way, transient errors such as ENOMEM can get propagated to the VFS.
This is important so that the system calls return the appropriate
error, and also so that in the case of ext4_lookup(), we return an
error instead of a NULL inode, since that will result in a negative
dentry cache entry that will stick around long past the OOM condition
which caused a transient ENOMEM error.

Google-Bug-Id: #17142205

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/ext4/ext4.h
fs/ext4/namei.c