f2fs: make clean inodes when flushing inode page
This patch tries to make more clean inodes when flushing dirty inodes in checkpoint. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
parent
7c45729a4d
commit
18340edc8d
|
@ -921,7 +921,11 @@ int f2fs_sync_inode_meta(struct f2fs_sb_info *sbi)
|
||||||
inode = igrab(&fi->vfs_inode);
|
inode = igrab(&fi->vfs_inode);
|
||||||
spin_unlock(&sbi->inode_lock[DIRTY_META]);
|
spin_unlock(&sbi->inode_lock[DIRTY_META]);
|
||||||
if (inode) {
|
if (inode) {
|
||||||
update_inode_page(inode);
|
sync_inode_metadata(inode, 0);
|
||||||
|
|
||||||
|
/* it's on eviction */
|
||||||
|
if (is_inode_flag_set(inode, FI_DIRTY_INODE))
|
||||||
|
update_inode_page(inode);
|
||||||
iput(inode);
|
iput(inode);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -339,7 +339,7 @@ int f2fs_write_inode(struct inode *inode, struct writeback_control *wbc)
|
||||||
* We need to balance fs here to prevent from producing dirty node pages
|
* We need to balance fs here to prevent from producing dirty node pages
|
||||||
* during the urgent cleaning time when runing out of free sections.
|
* during the urgent cleaning time when runing out of free sections.
|
||||||
*/
|
*/
|
||||||
if (update_inode_page(inode))
|
if (update_inode_page(inode) && wbc && wbc->nr_to_write)
|
||||||
f2fs_balance_fs(sbi, true);
|
f2fs_balance_fs(sbi, true);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue