diff options
author | Chao Yu <chao2.yu@samsung.com> | 2015-11-10 18:45:07 +0800 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2015-12-04 11:52:34 -0800 |
commit | eb7e813cc791735f2428202d5249a8fd769df1f3 (patch) | |
tree | c2f4d77faf2fac5c99ea1f34108e75655610a966 | |
parent | 04ef4b626c324a7529c80ffc45787b274a6fa68a (diff) | |
download | op-kernel-dev-eb7e813cc791735f2428202d5249a8fd769df1f3.zip op-kernel-dev-eb7e813cc791735f2428202d5249a8fd769df1f3.tar.gz |
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.c | 4 |
1 files changed, 3 insertions, 1 deletions
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: |