gc.c (81eb8d6e2869b119d4a7b8c02091c3779733a3ac) gc.c (4660f9c0fe484353b17a4b9d1cc2b036fa895f76)
1/*
2 * fs/f2fs/gc.c
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com/
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

--- 69 unchanged lines hidden (view full) ---

78 wait_ms = increase_sleep_time(gc_th, wait_ms);
79
80 stat_inc_bggc_count(sbi);
81
82 /* if return value is not zero, no victim was selected */
83 if (f2fs_gc(sbi))
84 wait_ms = gc_th->no_gc_sleep_time;
85
1/*
2 * fs/f2fs/gc.c
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com/
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

--- 69 unchanged lines hidden (view full) ---

78 wait_ms = increase_sleep_time(gc_th, wait_ms);
79
80 stat_inc_bggc_count(sbi);
81
82 /* if return value is not zero, no victim was selected */
83 if (f2fs_gc(sbi))
84 wait_ms = gc_th->no_gc_sleep_time;
85
86 /* balancing prefree segments */
87 if (excess_prefree_segs(sbi))
88 f2fs_sync_fs(sbi->sb, true);
86 /* balancing f2fs's metadata periodically */
87 f2fs_balance_fs_bg(sbi);
89
90 } while (!kthread_should_stop());
91 return 0;
92}
93
94int start_gc_thread(struct f2fs_sb_info *sbi)
95{
96 struct f2fs_gc_kthread *gc_th;

--- 655 unchanged lines hidden ---
88
89 } while (!kthread_should_stop());
90 return 0;
91}
92
93int start_gc_thread(struct f2fs_sb_info *sbi)
94{
95 struct f2fs_gc_kthread *gc_th;

--- 655 unchanged lines hidden ---