summaryrefslogtreecommitdiffstats
path: root/fs/f2fs
diff options
context:
space:
mode:
authorNicholas Krause <xerofoify@gmail.com>2015-09-22 00:55:49 +0200
committerJaegeuk Kim <jaegeuk@kernel.org>2015-10-10 01:20:53 +0200
commit545fe4210df5eb4097aa17c68f0f153db27bcf44 (patch)
tree8ddc75d25204b70365c38087e1d44905027b7943 /fs/f2fs
parentf2fs: disallow switch extent_cache option dynamically (diff)
downloadlinux-545fe4210df5eb4097aa17c68f0f153db27bcf44.tar.xz
linux-545fe4210df5eb4097aa17c68f0f153db27bcf44.zip
f2fs: fix error handling for calls to various functions in the function recover_inline_data
This fixes error handling for calls to various functions in the function recover_inline_data to check if these particular functions either return a error code or the boolean value false to signal their caller they have failed internally and if this arises return false to signal failure immediately to the caller of recover_inline_data as we cannot continue after failures to calling either the function truncate_inline_inode or truncate_blocks. Signed-off-by: Nicholas Krause <xerofoify@gmail.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs')
-rw-r--r--fs/f2fs/inline.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c
index 3d143be42895..3b18e23319c3 100644
--- a/fs/f2fs/inline.c
+++ b/fs/f2fs/inline.c
@@ -274,12 +274,14 @@ process_inline:
if (f2fs_has_inline_data(inode)) {
ipage = get_node_page(sbi, inode->i_ino);
f2fs_bug_on(sbi, IS_ERR(ipage));
- truncate_inline_inode(ipage, 0);
+ if (!truncate_inline_inode(ipage, 0))
+ return false;
f2fs_clear_inline_inode(inode);
update_inode(inode, ipage);
f2fs_put_page(ipage, 1);
} else if (ri && (ri->i_inline & F2FS_INLINE_DATA)) {
- truncate_blocks(inode, 0, false);
+ if (truncate_blocks(inode, 0, false))
+ return false;
goto process_inline;
}
return false;