f2fs: fix to remove directory inode from dirty list
authorChao Yu <chao2.yu@samsung.com>
Tue, 10 Nov 2015 10:45:07 +0000 (18:45 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 4 Dec 2015 19:52:34 +0000 (11:52 -0800)
If last dirty dentry page was writebacked in reclaim path, we should
remove its directory inode from global dirty list to avoid unnecessary
flush for this inode when doing checkpoint.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/data.c

index c3e1ffa0c8d6461c7d31e1d86c85d58f579af15b..6c689e9a86a38c95abb7b71d3d3079d33a384145 100644 (file)
@@ -1182,8 +1182,10 @@ out:
        unlock_page(page);
        if (need_balance_fs)
                f2fs_balance_fs(sbi);
-       if (wbc->for_reclaim)
+       if (wbc->for_reclaim) {
                f2fs_submit_merged_bio(sbi, DATA, WRITE);
+               remove_dirty_dir_inode(inode);
+       }
        return 0;
 
 redirty_out: