Commit 3786dfdf authored by Namjae Jeon's avatar Namjae Jeon Committed by Jaegeuk Kim

f2fs: avoid redundant call to has_not_enough_free_secs in f2fs_gc

After doing a write_checkpoint from garbage collection path if there is still
need to do more garbage collection, gc_more label is used to jump and start
the process again. And in that process, first step before getting victim is to
check if there are not enough free sections, which is already done before
doing a jump to gc_more. We can avoid the redundant call to check free
sections, by checking the gc_type flag which will remain FG_GC(value 1) under
this condition.
Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: default avatarAmit Sahrawat <a.sahrawat@samsung.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk.kim@samsung.com>
parent d6212a5f
...@@ -672,7 +672,7 @@ int f2fs_gc(struct f2fs_sb_info *sbi) ...@@ -672,7 +672,7 @@ int f2fs_gc(struct f2fs_sb_info *sbi)
if (!(sbi->sb->s_flags & MS_ACTIVE)) if (!(sbi->sb->s_flags & MS_ACTIVE))
goto stop; goto stop;
if (has_not_enough_free_secs(sbi)) if (gc_type == BG_GC && has_not_enough_free_secs(sbi))
gc_type = FG_GC; gc_type = FG_GC;
if (!__get_victim(sbi, &segno, gc_type, NO_CHECK_TYPE)) if (!__get_victim(sbi, &segno, gc_type, NO_CHECK_TYPE))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment