diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index e5236463781a1c4f4fab40e455c961862fa810bf..975909c146a1a94c851552b2ecb8c3b403a28088 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -1339,7 +1339,8 @@ int fsync_node_pages(struct f2fs_sb_info *sbi, struct inode *inode, if (unlikely(f2fs_cp_error(sbi))) { f2fs_put_page(last_page, 0); pagevec_release(&pvec); - return -EIO; + ret = -EIO; + goto out; } if (!IS_DNODE(page) || !is_cold_node(page)) @@ -1412,7 +1413,7 @@ int fsync_node_pages(struct f2fs_sb_info *sbi, struct inode *inode, unlock_page(last_page); goto retry; } - +out: if (nwritten) f2fs_submit_merged_bio_cond(sbi, NULL, NULL, ino, NODE, WRITE); return ret ? -EIO: 0;