summaryrefslogtreecommitdiffstats
path: root/fs
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 /fs
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>
Diffstat (limited to 'fs')
-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