Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 545fe421 authored by Nicholas Krause's avatar Nicholas Krause Committed by Jaegeuk Kim
Browse files

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: default avatarNicholas Krause <xerofoify@gmail.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 9cd81ce3
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -274,12 +274,14 @@ bool recover_inline_data(struct inode *inode, struct page *npage)
	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;