summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChao Yu <chao2.yu@samsung.com>2015-11-10 18:45:07 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2015-12-04 11:52:34 -0800
commiteb7e813cc791735f2428202d5249a8fd769df1f3 (patch)
treec2f4d77faf2fac5c99ea1f34108e75655610a966
parent04ef4b626c324a7529c80ffc45787b274a6fa68a (diff)
downloadblackbird-op-linux-eb7e813cc791735f2428202d5249a8fd769df1f3.tar.gz
blackbird-op-linux-eb7e813cc791735f2428202d5249a8fd769df1f3.zip
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 c3e1ffa0c8d6..6c689e9a86a3 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:
OpenPOWER on IntegriCloud