aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChao Yu <chao2.yu@samsung.com>2015-11-10 18:45:07 +0800
committerMister Oyster <oysterized@gmail.com>2017-04-13 12:32:26 +0200
commitfe28574a39af585290fc78566b774388efd40f10 (patch)
treef0228f89e480062e6758c02c3bc25d530936cffd
parent737f253ffc4e4dd351d8204975706f3954ba7fbc (diff)
f2fs: fix to remove directory inode from dirty list
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>
-rw-r--r--fs/f2fs/data.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 644e6547b..97299cb0d 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -1183,8 +1183,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: