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>
This commit is contained in:
parent
9cd81ce3c2
commit
545fe4210d
|
@ -274,12 +274,14 @@ process_inline:
|
||||||
if (f2fs_has_inline_data(inode)) {
|
if (f2fs_has_inline_data(inode)) {
|
||||||
ipage = get_node_page(sbi, inode->i_ino);
|
ipage = get_node_page(sbi, inode->i_ino);
|
||||||
f2fs_bug_on(sbi, IS_ERR(ipage));
|
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);
|
f2fs_clear_inline_inode(inode);
|
||||||
update_inode(inode, ipage);
|
update_inode(inode, ipage);
|
||||||
f2fs_put_page(ipage, 1);
|
f2fs_put_page(ipage, 1);
|
||||||
} else if (ri && (ri->i_inline & F2FS_INLINE_DATA)) {
|
} 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;
|
goto process_inline;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in New Issue