linux_dsm_epyc7002/fs/f2fs
Hou Pengyang e93b986525 f2fs: add ovp valid_blocks check for bg gc victim to fg_gc
For foreground gc, greedy algorithm should be adapted, which makes
this formula work well:

	(2 * (100 / config.overprovision + 1) + 6)

But currently, we fg_gc have a prior to select bg_gc victim segments to gc
first, these victims are selected by cost-benefit algorithm, we can't guarantee
such segments have the small valid blocks, which may destroy the f2fs rule, on
the worstest case, would consume all the free segments.

This patch fix this by add a filter in check_bg_victims, if segment's has # of
valid blocks over overprovision ratio, skip such segments.

Cc: <stable@vger.kernel.org>
Signed-off-by: Hou Pengyang <houpengyang@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2017-02-23 11:28:20 -08:00
..
acl.c f2fs: keep dirty inodes selectively for checkpoint 2016-11-23 12:11:08 -08:00
acl.h f2fs: remove dead code f2fs_check_acl 2016-09-14 16:52:36 -07:00
checkpoint.c f2fs: remove build_free_nids() during checkpoint 2017-02-23 10:10:53 -08:00
data.c f2fs: do not wait for writeback in write_begin 2017-02-23 11:23:27 -08:00
debug.c f2fs: show # of APPEND and UPDATE inodes 2017-02-22 20:54:53 -08:00
dir.c f2fs: fix multiple f2fs_add_link() calls having same name 2017-02-23 11:23:25 -08:00
extent_cache.c f2fs: use rb_entry_safe 2017-01-29 12:46:01 +09:00
f2fs.h f2fs: add ovp valid_blocks check for bg gc victim to fg_gc 2017-02-23 11:28:20 -08:00
file.c f2fs: change recovery policy of xattr node block 2017-02-23 10:10:52 -08:00
gc.c f2fs: add ovp valid_blocks check for bg gc victim to fg_gc 2017-02-23 11:28:20 -08:00
gc.h f2fs: detect idle time depending on user behavior 2016-01-11 15:56:37 -08:00
hash.c f2fs: introduce dot and dotdot name check 2015-05-28 15:41:34 -07:00
inline.c for-f2fs-4.10 2016-12-14 09:07:36 -08:00
inode.c f2fs: record inode updating status correctly 2016-11-23 12:11:25 -08:00
Kconfig f2fs: add mount option to select fault injection ratio 2016-05-07 10:32:22 -07:00
Makefile fs crypto: move per-file encryption from f2fs tree to fs/crypto 2016-03-17 21:19:33 -07:00
namei.c f2fs: don't allow encrypted operations without keys 2017-01-29 12:46:01 +09:00
node.c f2fs: avoid reading NAT page by get_node_info 2017-02-23 10:21:47 -08:00
node.h f2fs: change recovery policy of xattr node block 2017-02-23 10:10:52 -08:00
recovery.c f2fs: change recovery policy of xattr node block 2017-02-23 10:10:52 -08:00
segment.c f2fs: show actual device info in tracepoints 2017-02-23 11:23:24 -08:00
segment.h f2fs: add ovp valid_blocks check for bg gc victim to fg_gc 2017-02-23 11:28:20 -08:00
shrinker.c f2fs: avoid casted negative value as shrink count 2016-11-23 12:11:03 -08:00
super.c f2fs: enable inline_xattr by default 2017-02-23 10:21:49 -08:00
trace.c f2fs: use bio op accessors 2016-06-07 13:41:38 -06:00
trace.h f2fs: add sbi and page pointer in f2fs_io_info 2015-05-28 15:41:32 -07:00
xattr.c f2fs: change recovery policy of xattr node block 2017-02-23 10:10:52 -08:00
xattr.h f2fs: enhance lookup xattr 2017-02-22 20:24:51 -08:00