alistair23-linux/fs/f2fs
Chao Yu 7e515b31d4 f2fs: fix to correct no_fggc_candidate
There may be extreme case as below:

For one section contains one segment, and there are total 100 segments
with 10% over-privision ratio in f2fs partition, fggc_threshold will
be rounded down to 460 instead of 460.8 as below caclulation:

sbi->fggc_threshold = div_u64((u64)(main_count - ovp_count) *
			BLKS_PER_SEC(sbi), (main_count - resv_count));

If section usage is as:
60 segments which contain 460 valid blocks
40 segments which contain 462 valid blocks

As valid block number in all sections is large than fggc_threshold, so
none of them will be chosen as candidate due to incorrect fggc_threshold.

Let's just soften the term of choosing foreground GC candidates.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2017-10-26 10:44:24 +02:00
..
acl.c f2fs: preserve i_mode if __f2fs_set_acl() fails 2017-07-28 17:48:54 -07:00
acl.h
checkpoint.c f2fs: fix to flush multiple device in checkpoint 2017-10-10 12:49:53 -07:00
data.c f2fs: limit # of inmemory pages 2017-10-26 10:44:21 +02:00
debug.c f2fs: fix to show ino management cache size correctly 2017-10-10 12:49:53 -07:00
dir.c f2fs: update ctx->pos correctly when hitting hole in directory 2017-10-26 10:44:20 +02:00
extent_cache.c f2fs: fix a bug caused by NULL extent tree 2017-05-23 21:07:18 -07:00
f2fs.h f2fs: remove obsolete pointer for truncate_xattr_node 2017-10-26 10:44:22 +02:00
file.c f2fs: skip searching non-exist range in truncate_hole 2017-10-26 10:44:16 +02:00
gc.c f2fs: enhance multiple device flush 2017-10-10 12:49:53 -07:00
gc.h f2fs: fix potential overflow when adjusting GC cycle 2017-08-15 10:40:14 -07:00
hash.c f2fs: check entire encrypted bigname when finding a dentry 2017-05-04 11:44:35 -04:00
inline.c f2fs: enhance multiple device flush 2017-10-10 12:49:53 -07:00
inode.c f2fs: avoid stale fi->gdirty_list pointer 2017-10-26 10:44:14 +02:00
Kconfig
Makefile f2fs: move sysfs code from super.c to fs/f2fs/sysfs.c 2017-07-04 02:11:45 -07:00
namei.c f2fs: trace f2fs_lookup 2017-10-26 10:44:16 +02:00
node.c f2fs: remove obsolete pointer for truncate_xattr_node 2017-10-26 10:44:22 +02:00
node.h f2fs: limit # of inmemory pages 2017-10-26 10:44:21 +02:00
recovery.c f2fs: check hot_data for roll-forward recovery 2017-08-21 15:55:06 -07:00
segment.c f2fs: limit # of inmemory pages 2017-10-26 10:44:21 +02:00
segment.h f2fs: fix to correct no_fggc_candidate 2017-10-26 10:44:24 +02:00
shrinker.c f2fs: obsolete ALLOC_NID_LIST list 2017-10-10 12:49:53 -07:00
super.c Revert "f2fs: return wrong error number on f2fs_quota_write" 2017-10-26 10:44:23 +02:00
sysfs.c f2fs: split discard policy 2017-10-26 10:44:08 +02:00
trace.c f2fs: use set_page_private marcro in f2fs_trace_pid 2017-03-24 15:10:49 -04:00
trace.h
xattr.c f2fs: remove obsolete pointer for truncate_xattr_node 2017-10-26 10:44:22 +02:00
xattr.h f2fs: guard macro variables with braces 2017-04-10 19:48:10 -07:00