summaryrefslogtreecommitdiff
path: root/fs/ext4/indirect.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2013-07-01 16:12:40 +0400
committerTheodore Ts'o <tytso@mit.edu>2013-07-01 16:12:40 +0400
commitcb530541182bee14112675046331f20a1c831507 (patch)
tree2a6f2d92aa5a956eea7e47331eb1ede78e81658f /fs/ext4/indirect.c
parent39c04153fda8c32e85b51c96eb5511a326ad7609 (diff)
downloadlinux-cb530541182bee14112675046331f20a1c831507.tar.xz
ext4: fix up error handling for mpage_map_and_submit_extent()
The function mpage_released_unused_page() must only be called once; otherwise the kernel will BUG() when the second call to mpage_released_unused_page() tries to unlock the pages which had been unlocked by the first call. Also restructure the error handling so that we only give up on writing the dirty pages in the case of ENOSPC where retrying the allocation won't help. Otherwise, a transient failure, such as a kmalloc() failure in calling ext4_map_blocks() might cause us to give up on those pages, leading to a scary message in /var/log/messages plus data loss. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reviewed-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/ext4/indirect.c')
0 files changed, 0 insertions, 0 deletions