2015-11-10 10:45:52

by Chao Yu

[permalink] [raw]
Subject: [PATCH 2/2] 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 <[email protected]>
---
fs/f2fs/data.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index c3e1ffa..6c689e9 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -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:
--
2.6.1