]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
f2fs: flush dirty nats periodically
authorJaegeuk Kim <jaegeuk@kernel.org>
Tue, 2 May 2017 01:09:44 +0000 (18:09 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 3 May 2017 17:04:56 +0000 (10:04 -0700)
This patch flushes dirty nats in order to acquire available nids by writing
checkpoint. Otherwise, we can have no chance to get freed nids.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/segment.c

index a32268eeb47273668bcea4cc76e7c8df882679d1..6e1c8cf757491ca9c273ee6ae453c3ffa4dc1f22 100644 (file)
@@ -419,7 +419,7 @@ void f2fs_balance_fs_bg(struct f2fs_sb_info *sbi)
        else
                build_free_nids(sbi, false, false);
 
-       if (!is_idle(sbi))
+       if (!is_idle(sbi) && !excess_dirty_nats(sbi))
                return;
 
        /* checkpoint is the only way to shrink partial cached entries */