f2fs: avoid unnecessary checkpoints
authorJaegeuk Kim <jaegeuk.kim@samsung.com>
Tue, 8 Oct 2013 00:30:33 +0000 (09:30 +0900)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Tue, 8 Oct 2013 00:32:43 +0000 (09:32 +0900)
During the f2fs_put_super procedure, we don't need to conduct checkpoint all
the time, since we don't need to do that if superblock is clean.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
fs/f2fs/super.c

index fde8e6aca9be077d6f8c3f44eb02e4cf09fd013d..539c009d4138cdff7953ba56c8342cc9b8fc7c1a 100644 (file)
@@ -372,7 +372,9 @@ static void f2fs_put_super(struct super_block *sb)
        f2fs_destroy_stats(sbi);
        stop_gc_thread(sbi);
 
-       write_checkpoint(sbi, true);
+       /* We don't need to do checkpoint when it's clean */
+       if (sbi->s_dirty && get_pages(sbi, F2FS_DIRTY_NODES))
+               write_checkpoint(sbi, true);
 
        iput(sbi->node_inode);
        iput(sbi->meta_inode);