Lines Matching defs:tree_page

65 	struct tree_page *levels[VDO_BLOCK_MAP_TREE_HEIGHT];
76 struct tree_page **pages;
1351 static struct tree_page * __must_check get_tree_page_by_index(struct forest *forest,
1375 static inline struct tree_page *get_tree_page(const struct block_map_zone *zone,
1470 static void set_generation(struct block_map_zone *zone, struct tree_page *page,
1494 static void write_page(struct tree_page *tree_page, struct pooled_vio *vio);
1499 write_page(container_of(waiter, struct tree_page, waiter), context);
1521 static void enqueue_page(struct tree_page *page, struct block_map_zone *zone)
1534 struct tree_page *page = container_of(waiter, struct tree_page, waiter);
1557 struct tree_page *page = completion->parent;
1590 struct tree_page, waiter);
1617 struct tree_page *tree_page = completion->parent;
1627 if (zone->flusher == tree_page)
1647 static void write_page(struct tree_page *tree_page, struct pooled_vio *vio)
1651 struct block_map_page *page = vdo_as_block_map_page(tree_page);
1653 if ((zone->flusher != tree_page) &&
1654 is_not_older(zone, tree_page->generation, zone->generation)) {
1659 enqueue_page(tree_page, zone);
1664 completion->parent = tree_page;
1665 memcpy(vio->vio.data, tree_page->page_buffer, VDO_BLOCK_SIZE);
1668 tree_page->writing = true;
1669 tree_page->writing_generation = tree_page->generation;
1670 tree_page->writing_recovery_lock = tree_page->recovery_lock;
1673 tree_page->recovery_lock = 0;
1823 struct tree_page *tree_page;
1834 tree_page = get_tree_page(zone, tree_lock);
1835 page = (struct block_map_page *) tree_page->page_buffer;
1997 struct tree_page *page, *ttmp;
2067 struct tree_page *tree_page;
2077 tree_page = get_tree_page(zone, tree_lock);
2081 page = (struct block_map_page *) tree_page->page_buffer;
2082 old_lock = tree_page->recovery_lock;
2085 &tree_page->recovery_lock);
2087 if (vdo_waiter_is_waiting(&tree_page->waiter)) {
2089 if (zone->flusher != tree_page) {
2094 set_generation(zone, tree_page, zone->generation);
2099 INIT_LIST_HEAD(&tree_page->entry);
2100 add_to_dirty_lists(zone, &tree_page->entry, VDO_TREE_PAGE,
2101 old_lock, tree_page->recovery_lock);
2107 tree_page = get_tree_page(zone, tree_lock);
2108 vdo_format_block_map_page(tree_page->page_buffer,
2297 struct tree_page *tree_page;
2305 tree_page = get_tree_page_by_index(map->forest, root_index, 1, page_index);
2306 page = (struct block_map_page *) tree_page->page_buffer;
2320 void vdo_write_tree_page(struct tree_page *page, struct block_map_zone *zone)
2338 struct tree_page *page_ptr;
2351 result = vdo_allocate(forest->segments, struct tree_page *,
2356 result = vdo_allocate(new_pages, struct tree_page,
2365 index * sizeof(struct tree_page *));
2531 struct tree_page *tree_page =
2533 struct block_map_page *page = (struct block_map_page *) tree_page->page_buffer;
2560 struct tree_page *tree_page =
2562 struct block_map_page *page = (struct block_map_page *) tree_page->page_buffer;
2577 vdo_write_tree_page(tree_page, cursor->parent->zone);
2587 vdo_write_tree_page(tree_page, cursor->parent->zone);
2596 vdo_write_tree_page(tree_page, cursor->parent->zone);