Lines Matching refs:upper

3028 	INIT_LIST_HEAD(&node->upper);  in btrfs_backref_alloc_node()
3059 struct btrfs_backref_node *upper; in btrfs_backref_cleanup_node() local
3066 while (!list_empty(&node->upper)) { in btrfs_backref_cleanup_node()
3067 edge = list_entry(node->upper.next, struct btrfs_backref_edge, in btrfs_backref_cleanup_node()
3069 upper = edge->node[UPPER]; in btrfs_backref_cleanup_node()
3078 if (list_empty(&upper->lower)) { in btrfs_backref_cleanup_node()
3079 list_add_tail(&upper->lower, &cache->leaves); in btrfs_backref_cleanup_node()
3080 upper->lowest = 1; in btrfs_backref_cleanup_node()
3137 struct btrfs_backref_node *upper; in handle_direct_tree_backref() local
3170 upper = btrfs_backref_alloc_node(cache, ref_key->offset, in handle_direct_tree_backref()
3172 if (!upper) { in handle_direct_tree_backref()
3184 upper = rb_entry(rb_node, struct btrfs_backref_node, rb_node); in handle_direct_tree_backref()
3185 ASSERT(upper->checked); in handle_direct_tree_backref()
3188 btrfs_backref_link_edge(edge, cur, upper, LINK_LOWER); in handle_direct_tree_backref()
3213 struct btrfs_backref_node *upper; in handle_indirect_tree_backref() local
3304 upper = btrfs_backref_alloc_node(cache, eb->start, in handle_indirect_tree_backref()
3306 if (!upper) { in handle_indirect_tree_backref()
3312 upper->owner = btrfs_header_owner(eb); in handle_indirect_tree_backref()
3314 upper->cowonly = 1; in handle_indirect_tree_backref()
3321 upper->checked = 0; in handle_indirect_tree_backref()
3323 upper->checked = 1; in handle_indirect_tree_backref()
3330 if (!upper->checked && need_check) { in handle_indirect_tree_backref()
3335 if (upper->checked) in handle_indirect_tree_backref()
3340 upper = rb_entry(rb_node, struct btrfs_backref_node, in handle_indirect_tree_backref()
3342 ASSERT(upper->checked); in handle_indirect_tree_backref()
3344 if (!upper->owner) in handle_indirect_tree_backref()
3345 upper->owner = btrfs_header_owner(eb); in handle_indirect_tree_backref()
3347 btrfs_backref_link_edge(edge, lower, upper, LINK_LOWER); in handle_indirect_tree_backref()
3353 lower = upper; in handle_indirect_tree_backref()
3354 upper = NULL; in handle_indirect_tree_backref()
3402 if (!list_empty(&cur->upper)) { in btrfs_backref_add_tree_node()
3407 ASSERT(list_is_singular(&cur->upper)); in btrfs_backref_add_tree_node()
3408 edge = list_entry(cur->upper.next, struct btrfs_backref_edge, in btrfs_backref_add_tree_node()
3520 list_for_each_entry(edge, &start->upper, list[LOWER]) in btrfs_backref_finish_upper_links()
3524 struct btrfs_backref_node *upper; in btrfs_backref_finish_upper_links() local
3530 upper = edge->node[UPPER]; in btrfs_backref_finish_upper_links()
3534 if (upper->detached) { in btrfs_backref_finish_upper_links()
3539 if (list_empty(&lower->upper)) in btrfs_backref_finish_upper_links()
3551 if (!RB_EMPTY_NODE(&upper->rb_node)) { in btrfs_backref_finish_upper_links()
3552 if (upper->lowest) { in btrfs_backref_finish_upper_links()
3553 list_del_init(&upper->lower); in btrfs_backref_finish_upper_links()
3554 upper->lowest = 0; in btrfs_backref_finish_upper_links()
3557 list_add_tail(&edge->list[UPPER], &upper->lower); in btrfs_backref_finish_upper_links()
3562 if (!upper->checked) { in btrfs_backref_finish_upper_links()
3568 if (start->cowonly != upper->cowonly) { in btrfs_backref_finish_upper_links()
3574 if (!upper->cowonly) { in btrfs_backref_finish_upper_links()
3575 rb_node = rb_simple_insert(&cache->rb_root, upper->bytenr, in btrfs_backref_finish_upper_links()
3576 &upper->rb_node); in btrfs_backref_finish_upper_links()
3579 upper->bytenr, -EEXIST); in btrfs_backref_finish_upper_links()
3584 list_add_tail(&edge->list[UPPER], &upper->lower); in btrfs_backref_finish_upper_links()
3590 list_for_each_entry(edge, &upper->upper, list[LOWER]) in btrfs_backref_finish_upper_links()
3600 struct btrfs_backref_node *upper; in btrfs_backref_error_cleanup() local
3614 upper = edge->node[UPPER]; in btrfs_backref_error_cleanup()
3621 if (list_empty(&lower->upper) && in btrfs_backref_error_cleanup()
3625 if (!RB_EMPTY_NODE(&upper->rb_node)) in btrfs_backref_error_cleanup()
3629 list_for_each_entry(edge, &upper->upper, list[LOWER]) in btrfs_backref_error_cleanup()
3632 if (list_empty(&upper->upper)) in btrfs_backref_error_cleanup()
3633 list_add(&upper->list, &cache->useless_node); in btrfs_backref_error_cleanup()