Linux Kernel
3.7.1
|
#include <logfs.h>
Data Fields | |
struct rb_node | rb_node |
struct candidate_list * | list |
u32 | segno |
u32 | valid |
u32 | erase_count |
u8 | dist |
struct gc_candidate - "candidate" segment to be garbage collected next
: list (either free of low) : segment number : number of valid bytes : erase count of segment : distance from tree root
Candidates can be on two lists. The free list contains electees rather than candidates - segments that no longer contain any valid data. The low list contains candidates to be picked for GC. It should be kept short. It is not required to always pick a perfect candidate. In the worst case GC will have to move more data than absolutely necessary.