Lines Matching refs:upper

196 	while (!list_empty(&node->upper)) {
197 edge = list_entry(node->upper.next,
220 if (list_is_last(&edge->list[LOWER], &lower->upper)) {
403 ASSERT(list_empty(&cur->upper));
427 if (list_empty(&lower->upper))
435 * Backref nodes for upper level tree blocks are left in the
455 * upper level blocks that reference the block, and then check backrefs of
456 * these upper level blocks recursively. The recursion stops when tree root is
460 * all upper level blocks that directly/indirectly reference the block are also
514 /* Finish the upper linkage of newly added edges/nodes */
609 &new_edge->node[LOWER]->upper);
1708 * In merge_reloc_root(), we modify the upper level pointer to swap the
2303 if (list_empty(&next->upper))
2306 edge = list_entry(next->upper.next,
2358 * relocate a block tree, and then update pointers in upper level
2370 struct btrfs_backref_node *upper;
2388 list_for_each_entry(edge, &node->upper, list[LOWER]) {
2391 upper = edge->node[UPPER];
2392 root = select_reloc_root(trans, rc, upper, edges);
2398 if (upper->eb && !upper->locked) {
2400 ret = btrfs_bin_search(upper->eb, 0, key, &slot);
2404 bytenr = btrfs_node_blockptr(upper->eb, slot);
2408 btrfs_backref_drop_node_buffer(upper);
2411 if (!upper->eb) {
2421 if (!upper->eb) {
2422 upper->eb = path->nodes[upper->level];
2423 path->nodes[upper->level] = NULL;
2425 BUG_ON(upper->eb != path->nodes[upper->level]);
2428 upper->locked = 1;
2429 path->locks[upper->level] = 0;
2431 slot = path->slots[upper->level];
2434 ret = btrfs_bin_search(upper->eb, 0, key, &slot);
2440 bytenr = btrfs_node_blockptr(upper->eb, slot);
2444 "lowest leaf/node mismatch: bytenr %llu node->bytenr %llu slot %d upper %llu",
2446 upper->eb->start);
2456 eb = btrfs_read_node_slot(upper->eb, slot);
2464 ret = btrfs_cow_block(trans, root, eb, upper->eb,
2480 .parent = upper->eb->start,
2481 .owning_root = btrfs_header_owner(upper->eb),
2482 .ref_root = btrfs_header_owner(upper->eb),
2485 btrfs_set_node_blockptr(upper->eb, slot,
2487 btrfs_set_node_ptr_generation(upper->eb, slot,
2489 btrfs_mark_buffer_dirty(trans, upper->eb);
2496 upper->eb);
2501 if (!upper->pending)
2502 btrfs_backref_drop_node_buffer(upper);
2504 btrfs_backref_unlock_node_buffer(upper);
2584 if (list_empty(&next->upper))
2587 edge = list_entry(next->upper.next,