Symbol: dirty_lists
drivers/md/dm-vdo/block-map.c
1983
static void expire_oldest_list(struct dirty_lists *dirty_lists)
drivers/md/dm-vdo/block-map.c
1985
block_count_t i = dirty_lists->offset++;
drivers/md/dm-vdo/block-map.c
1987
dirty_lists->oldest_period++;
drivers/md/dm-vdo/block-map.c
1988
if (!list_empty(&dirty_lists->eras[i][VDO_TREE_PAGE])) {
drivers/md/dm-vdo/block-map.c
1989
list_splice_tail_init(&dirty_lists->eras[i][VDO_TREE_PAGE],
drivers/md/dm-vdo/block-map.c
1990
&dirty_lists->expired[VDO_TREE_PAGE]);
drivers/md/dm-vdo/block-map.c
1993
if (!list_empty(&dirty_lists->eras[i][VDO_CACHE_PAGE])) {
drivers/md/dm-vdo/block-map.c
1994
list_splice_tail_init(&dirty_lists->eras[i][VDO_CACHE_PAGE],
drivers/md/dm-vdo/block-map.c
1995
&dirty_lists->expired[VDO_CACHE_PAGE]);
drivers/md/dm-vdo/block-map.c
1998
if (dirty_lists->offset == dirty_lists->maximum_age)
drivers/md/dm-vdo/block-map.c
1999
dirty_lists->offset = 0;
drivers/md/dm-vdo/block-map.c
2004
static void update_period(struct dirty_lists *dirty, sequence_number_t period)
drivers/md/dm-vdo/block-map.c
2021
expired = &zone->dirty_lists->expired[VDO_TREE_PAGE];
drivers/md/dm-vdo/block-map.c
2039
expired = &zone->dirty_lists->expired[VDO_CACHE_PAGE];
drivers/md/dm-vdo/block-map.c
2063
struct dirty_lists *dirty_lists = zone->dirty_lists;
drivers/md/dm-vdo/block-map.c
2068
if (new_period < dirty_lists->oldest_period) {
drivers/md/dm-vdo/block-map.c
2069
list_move_tail(entry, &dirty_lists->expired[type]);
drivers/md/dm-vdo/block-map.c
2071
update_period(dirty_lists, new_period);
drivers/md/dm-vdo/block-map.c
2073
&dirty_lists->eras[new_period % dirty_lists->maximum_age][type]);
drivers/md/dm-vdo/block-map.c
2752
result = vdo_allocate_extended(maximum_age, eras, __func__, &zone->dirty_lists);
drivers/md/dm-vdo/block-map.c
2756
zone->dirty_lists->maximum_age = maximum_age;
drivers/md/dm-vdo/block-map.c
2757
INIT_LIST_HEAD(&zone->dirty_lists->expired[VDO_TREE_PAGE]);
drivers/md/dm-vdo/block-map.c
2758
INIT_LIST_HEAD(&zone->dirty_lists->expired[VDO_CACHE_PAGE]);
drivers/md/dm-vdo/block-map.c
2761
INIT_LIST_HEAD(&zone->dirty_lists->eras[i][VDO_TREE_PAGE]);
drivers/md/dm-vdo/block-map.c
2762
INIT_LIST_HEAD(&zone->dirty_lists->eras[i][VDO_CACHE_PAGE]);
drivers/md/dm-vdo/block-map.c
2817
update_period(zone->dirty_lists, map->current_era_point);
drivers/md/dm-vdo/block-map.c
2843
vdo_free(vdo_forget(zone->dirty_lists));
drivers/md/dm-vdo/block-map.c
2955
struct dirty_lists *dirty_lists = map->zones[z].dirty_lists;
drivers/md/dm-vdo/block-map.c
2957
VDO_ASSERT_LOG_ONLY(dirty_lists->next_period == 0, "current period not set");
drivers/md/dm-vdo/block-map.c
2958
dirty_lists->oldest_period = map->current_era_point;
drivers/md/dm-vdo/block-map.c
2959
dirty_lists->next_period = map->current_era_point + 1;
drivers/md/dm-vdo/block-map.c
2960
dirty_lists->offset = map->current_era_point % dirty_lists->maximum_age;
drivers/md/dm-vdo/block-map.c
2995
while (zone->dirty_lists->oldest_period < zone->dirty_lists->next_period)
drivers/md/dm-vdo/block-map.c
2996
expire_oldest_list(zone->dirty_lists);
drivers/md/dm-vdo/block-map.h
239
struct dirty_lists *dirty_lists;