]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
f2fs: avoid redundant call to has_not_enough_free_secs in f2fs_gc
authorNamjae Jeon <namjae.jeon@samsung.com>
Wed, 30 Jan 2013 13:47:02 +0000 (22:47 +0900)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Mon, 11 Feb 2013 22:15:00 +0000 (07:15 +0900)
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: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Amit Sahrawat <a.sahrawat@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
fs/f2fs/gc.c

index 9b5d0aad5daf7cd5cf14f7a0639f37f1ca2b7ee2..fb03be68cb208bd640491053dbbc74e3e89ffea1 100644 (file)
@@ -672,7 +672,7 @@ gc_more:
        if (!(sbi->sb->s_flags & MS_ACTIVE))
                goto stop;
 
-       if (has_not_enough_free_secs(sbi))
+       if (gc_type == BG_GC && has_not_enough_free_secs(sbi))
                gc_type = FG_GC;
 
        if (!__get_victim(sbi, &segno, gc_type, NO_CHECK_TYPE))