Lines Matching refs:tree_page

65 	struct tree_page *levels[VDO_BLOCK_MAP_TREE_HEIGHT];
76 struct tree_page **pages;
1353 static struct tree_page * __must_check get_tree_page_by_index(struct forest *forest, in get_tree_page_by_index()
1377 static inline struct tree_page *get_tree_page(const struct block_map_zone *zone, in get_tree_page()
1472 static void set_generation(struct block_map_zone *zone, struct tree_page *page, in set_generation()
1496 static void write_page(struct tree_page *tree_page, struct pooled_vio *vio);
1501 write_page(container_of(waiter, struct tree_page, waiter), context); in write_page_callback()
1523 static void enqueue_page(struct tree_page *page, struct block_map_zone *zone) in enqueue_page()
1536 struct tree_page *page = container_of(waiter, struct tree_page, waiter); in write_page_if_not_dirtied()
1559 struct tree_page *page = completion->parent; in finish_page_write()
1592 struct tree_page, waiter); in finish_page_write()
1619 struct tree_page *tree_page = completion->parent; in write_initialized_page() local
1629 if (zone->flusher == tree_page) in write_initialized_page()
1649 static void write_page(struct tree_page *tree_page, struct pooled_vio *vio) in write_page() argument
1653 struct block_map_page *page = vdo_as_block_map_page(tree_page); in write_page()
1655 if ((zone->flusher != tree_page) && in write_page()
1656 is_not_older(zone, tree_page->generation, zone->generation)) { in write_page()
1661 enqueue_page(tree_page, zone); in write_page()
1666 completion->parent = tree_page; in write_page()
1667 memcpy(vio->vio.data, tree_page->page_buffer, VDO_BLOCK_SIZE); in write_page()
1670 tree_page->writing = true; in write_page()
1671 tree_page->writing_generation = tree_page->generation; in write_page()
1672 tree_page->writing_recovery_lock = tree_page->recovery_lock; in write_page()
1675 tree_page->recovery_lock = 0; in write_page()
1825 struct tree_page *tree_page; in finish_block_map_page_load() local
1836 tree_page = get_tree_page(zone, tree_lock); in finish_block_map_page_load()
1837 page = (struct block_map_page *) tree_page->page_buffer; in finish_block_map_page_load()
2000 struct tree_page *page, *ttmp; in write_expired_elements()
2070 struct tree_page *tree_page; in finish_block_map_allocation() local
2080 tree_page = get_tree_page(zone, tree_lock); in finish_block_map_allocation()
2084 page = (struct block_map_page *) tree_page->page_buffer; in finish_block_map_allocation()
2085 old_lock = tree_page->recovery_lock; in finish_block_map_allocation()
2088 &tree_page->recovery_lock); in finish_block_map_allocation()
2090 if (vdo_waiter_is_waiting(&tree_page->waiter)) { in finish_block_map_allocation()
2092 if (zone->flusher != tree_page) { in finish_block_map_allocation()
2097 set_generation(zone, tree_page, zone->generation); in finish_block_map_allocation()
2102 INIT_LIST_HEAD(&tree_page->entry); in finish_block_map_allocation()
2103 add_to_dirty_lists(zone, &tree_page->entry, VDO_TREE_PAGE, in finish_block_map_allocation()
2104 old_lock, tree_page->recovery_lock); in finish_block_map_allocation()
2110 tree_page = get_tree_page(zone, tree_lock); in finish_block_map_allocation()
2111 vdo_format_block_map_page(tree_page->page_buffer, in finish_block_map_allocation()
2300 struct tree_page *tree_page; in vdo_find_block_map_page_pbn() local
2308 tree_page = get_tree_page_by_index(map->forest, root_index, 1, page_index); in vdo_find_block_map_page_pbn()
2309 page = (struct block_map_page *) tree_page->page_buffer; in vdo_find_block_map_page_pbn()
2323 void vdo_write_tree_page(struct tree_page *page, struct block_map_zone *zone) in vdo_write_tree_page()
2341 struct tree_page *page_ptr; in make_segment()
2354 result = vdo_allocate(forest->segments, struct tree_page *, in make_segment()
2359 result = vdo_allocate(new_pages, struct tree_page, in make_segment()
2368 index * sizeof(struct tree_page *)); in make_segment()
2534 struct tree_page *tree_page = in finish_traversal_load() local
2536 struct block_map_page *page = (struct block_map_page *) tree_page->page_buffer; in finish_traversal_load()
2563 struct tree_page *tree_page = in traverse() local
2565 struct block_map_page *page = (struct block_map_page *) tree_page->page_buffer; in traverse()
2580 vdo_write_tree_page(tree_page, cursor->parent->zone); in traverse()
2590 vdo_write_tree_page(tree_page, cursor->parent->zone); in traverse()
2599 vdo_write_tree_page(tree_page, cursor->parent->zone); in traverse()