diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2015-10-08 10:40:07 -0700 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2015-10-12 13:38:02 -0700 |
commit | a125702326d9c3b753fe9c9b9727d3b3dd1cba4a (patch) | |
tree | 7c6407982fb0db047c1a5233eed3c24b4df192f9 /fs/f2fs/data.c | |
parent | c912a8298c16ef15aa2b7203022c935f439f488b (diff) | |
download | op-kernel-dev-a125702326d9c3b753fe9c9b9727d3b3dd1cba4a.zip op-kernel-dev-a125702326d9c3b753fe9c9b9727d3b3dd1cba4a.tar.gz |
Revert "f2fs: do not skip dentry block writes"
The periodic checkpoint can resolve the previous issue.
So, now we can use this again to improve the reported performance regression:
https://lkml.org/lkml/2015/10/8/20
This reverts commit 15bec0ff5a9ba6d203178fa8772259df6207942a.
Diffstat (limited to 'fs/f2fs/data.c')
-rw-r--r-- | fs/f2fs/data.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index a903423..bc04e92 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -1340,6 +1340,11 @@ static int f2fs_write_data_pages(struct address_space *mapping, if (!get_dirty_pages(inode) && wbc->sync_mode == WB_SYNC_NONE) return 0; + if (S_ISDIR(inode->i_mode) && wbc->sync_mode == WB_SYNC_NONE && + get_dirty_pages(inode) < nr_pages_to_skip(sbi, DATA) && + available_free_memory(sbi, DIRTY_DENTS)) + goto skip_write; + /* during POR, we don't need to trigger writepage at all. */ if (unlikely(is_sbi_flag_set(sbi, SBI_POR_DOING))) goto skip_write; |