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 /fs | |
parent | 04ef4b626c324a7529c80ffc45787b274a6fa68a (diff) | |
download | blackbird-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.c | 4 |
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: |