X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=fs%2Ff2fs%2Fsegment.c;h=53baf4a420dcea7b4d0a006c1fbbb5ee85f546c6;hb=7d768d2c264eec44941a13cb92200565e8c754d0;hp=e16235bbdd7df002eb74a2f90fd0135989f5286a;hpb=0fd785eb931d254a4ea4abd42f1c0c5a17f7132a;p=deliverable%2Flinux.git diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index e16235bbdd7d..53baf4a420dc 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -291,8 +291,9 @@ void f2fs_balance_fs_bg(struct f2fs_sb_info *sbi) /* checkpoint is the only way to shrink partial cached entries */ if (!available_free_memory(sbi, NAT_ENTRIES) || - excess_prefree_segs(sbi) || !available_free_memory(sbi, INO_ENTRIES) || + excess_prefree_segs(sbi) || + excess_dirty_nats(sbi) || (is_idle(sbi) && f2fs_time_over(sbi, CP_TIME))) { if (test_opt(sbi, DATA_FLUSH)) sync_dirty_inodes(sbi, FILE_INODE);