|
@@ -1197,6 +1197,7 @@ static void flush_inline_data(struct f2fs_sb_info *sbi, nid_t ino)
|
|
|
{
|
|
|
struct inode *inode;
|
|
|
struct page *page;
|
|
|
+ int ret;
|
|
|
|
|
|
/* should flush inline_data before evict_inode */
|
|
|
inode = ilookup(sbi->sb, ino);
|
|
@@ -1216,9 +1217,9 @@ static void flush_inline_data(struct f2fs_sb_info *sbi, nid_t ino)
|
|
|
if (!clear_page_dirty_for_io(page))
|
|
|
goto page_out;
|
|
|
|
|
|
- if (!f2fs_write_inline_data(inode, page))
|
|
|
- inode_dec_dirty_pages(inode);
|
|
|
- else
|
|
|
+ ret = f2fs_write_inline_data(inode, page);
|
|
|
+ inode_dec_dirty_pages(inode);
|
|
|
+ if (ret)
|
|
|
set_page_dirty(page);
|
|
|
page_out:
|
|
|
f2fs_put_page(page, 1);
|