diff options
author | Hou Pengyang <houpengyang@huawei.com> | 2017-02-25 03:57:38 +0000 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2017-02-27 10:07:37 -0800 |
commit | 19f4e688f89a9ce07b86d06d3df23c1cd877ab4e (patch) | |
tree | 0f0972a51cbf54cfd5d7055f18253f66b9ea8937 /fs/f2fs/extent_cache.c | |
parent | d27c3d89db9986b6f48576169031247e4c893729 (diff) | |
download | linux-19f4e688f89a9ce07b86d06d3df23c1cd877ab4e.tar.bz2 |
f2fs: avoid bggc->fggc when enough free segments are avaliable after cp
We use has_not_enough_free_secs to check if there are enough free segments,
(free_sections(sbi) + freed) <=
(node_secs + 2 * dent_secs + imeta_secs +
reserved_sections(sbi) + needed);
Under scenario with large number of dirty nodes, these nodes would be flushed
during cp, as a result, right side of the inequality would be decreased, while
left side stays unchanged if these nodes are flushed in SSR way, which means
there are enough free segments after this cp.
For this case, we just do a bggc instead of fggc.
Signed-off-by: Hou Pengyang <houpengyang@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/extent_cache.c')
0 files changed, 0 insertions, 0 deletions