• Home
  • Raw
  • Download

Lines Matching +full:1 +full:eb

43  *  BG C:  1 extents		| BG C:  3 data extents (1 old + 2 relocated)
47 * 1. Mark the target block group read-only
103 unsigned int key_ready:1;
147 unsigned int create_reloc_tree:1;
148 unsigned int merge_reloc_tree:1;
149 unsigned int found_file_extent:1;
154 #define UPDATE_DATA_PTRS 1
166 node->bytenr + blocksize - 1, EXTENT_DIRTY); in mark_block_processed()
168 node->processed = 1; in mark_block_processed()
210 edge = edges[idx - 1]; in walk_down_backref()
218 edges[idx - 1] = edge; in walk_down_backref()
287 return 1; in update_backref_cache()
329 return 1; in btrfs_should_ignore_reloc_root()
344 return 1; in btrfs_should_ignore_reloc_root()
433 cur->detached = 1; in handle_useless_nodes()
485 node->lowest = 1; in build_backref_tree()
579 new_node->checked = 1; in clone_backref_node()
733 struct extent_buffer *eb; in create_reloc_root() local
751 ret = btrfs_copy_root(trans, root, root->commit_root, &eb, in create_reloc_root()
774 ret = btrfs_copy_root(trans, root, root->node, &eb, in create_reloc_root()
787 btrfs_set_root_bytenr(root_item, eb->start); in create_reloc_root()
788 btrfs_set_root_level(root_item, btrfs_header_level(eb)); in create_reloc_root()
798 btrfs_tree_unlock(eb); in create_reloc_root()
799 free_extent_buffer(eb); in create_reloc_root()
876 clear_rsv = 1; in btrfs_init_reloc_root()
981 objectid = btrfs_ino(entry) + 1; in find_next_inode()
1060 int first = 1; in replace_file_extents()
1117 key.offset, end, 1); in replace_file_extents()
1134 dirty = 1; in replace_file_extents()
1167 int memcmp_node_keys(struct extent_buffer *eb, int slot, in memcmp_node_keys() argument
1172 btrfs_node_key(eb, &key1, slot); in memcmp_node_keys()
1182 * if a block was replaced, level of the block + 1 is returned.
1193 struct extent_buffer *eb; in replace_path() local
1216 eb = btrfs_lock_root_node(dest); in replace_path()
1217 btrfs_set_lock_blocking_write(eb); in replace_path()
1218 level = btrfs_header_level(eb); in replace_path()
1221 btrfs_tree_unlock(eb); in replace_path()
1222 free_extent_buffer(eb); in replace_path()
1227 ret = btrfs_cow_block(trans, dest, eb, NULL, 0, &eb, in replace_path()
1231 btrfs_set_lock_blocking_write(eb); in replace_path()
1234 next_key->objectid = (u64)-1; in replace_path()
1235 next_key->type = (u8)-1; in replace_path()
1236 next_key->offset = (u64)-1; in replace_path()
1239 parent = eb; in replace_path()
1240 while (1) { in replace_path()
1252 if (next_key && slot + 1 < btrfs_header_nritems(parent)) in replace_path()
1253 btrfs_node_key_to_cpu(parent, next_key, slot + 1); in replace_path()
1261 eb = path->nodes[level]; in replace_path()
1262 new_bytenr = btrfs_node_blockptr(eb, in replace_path()
1264 new_ptr_gen = btrfs_node_ptr_generation(eb, in replace_path()
1283 eb = read_tree_block(fs_info, old_bytenr, old_ptr_gen, in replace_path()
1284 level - 1, &first_key); in replace_path()
1285 if (IS_ERR(eb)) { in replace_path()
1286 ret = PTR_ERR(eb); in replace_path()
1288 } else if (!extent_buffer_uptodate(eb)) { in replace_path()
1290 free_extent_buffer(eb); in replace_path()
1293 btrfs_tree_lock(eb); in replace_path()
1295 ret = btrfs_cow_block(trans, dest, eb, parent, in replace_path()
1296 slot, &eb, in replace_path()
1300 btrfs_set_lock_blocking_write(eb); in replace_path()
1305 parent = eb; in replace_path()
1312 cow = 1; in replace_path()
1321 ret = btrfs_search_slot(trans, src, &key, path, 0, 1); in replace_path()
1329 * 1) Tree reloc subtree in replace_path()
1361 btrfs_init_tree_ref(&ref, level - 1, src->root_key.objectid); in replace_path()
1367 btrfs_init_tree_ref(&ref, level - 1, dest->root_key.objectid); in replace_path()
1373 btrfs_init_tree_ref(&ref, level - 1, src->root_key.objectid); in replace_path()
1380 btrfs_init_tree_ref(&ref, level - 1, dest->root_key.objectid); in replace_path()
1402 struct extent_buffer *eb; in walk_up_reloc_tree() local
1415 eb = path->nodes[i]; in walk_up_reloc_tree()
1416 nritems = btrfs_header_nritems(eb); in walk_up_reloc_tree()
1417 while (path->slots[i] + 1 < nritems) { in walk_up_reloc_tree()
1419 if (btrfs_node_ptr_generation(eb, path->slots[i]) <= in walk_up_reloc_tree()
1429 return 1; in walk_up_reloc_tree()
1440 struct extent_buffer *eb = NULL; in walk_down_reloc_tree() local
1452 eb = path->nodes[i]; in walk_down_reloc_tree()
1453 nritems = btrfs_header_nritems(eb); in walk_down_reloc_tree()
1455 ptr_gen = btrfs_node_ptr_generation(eb, path->slots[i]); in walk_down_reloc_tree()
1463 *level = i + 1; in walk_down_reloc_tree()
1466 if (i == 1) { in walk_down_reloc_tree()
1471 bytenr = btrfs_node_blockptr(eb, path->slots[i]); in walk_down_reloc_tree()
1472 btrfs_node_key_to_cpu(eb, &first_key, path->slots[i]); in walk_down_reloc_tree()
1473 eb = read_tree_block(fs_info, bytenr, ptr_gen, i - 1, in walk_down_reloc_tree()
1475 if (IS_ERR(eb)) { in walk_down_reloc_tree()
1476 return PTR_ERR(eb); in walk_down_reloc_tree()
1477 } else if (!extent_buffer_uptodate(eb)) { in walk_down_reloc_tree()
1478 free_extent_buffer(eb); in walk_down_reloc_tree()
1481 BUG_ON(btrfs_header_level(eb) != i - 1); in walk_down_reloc_tree()
1482 path->nodes[i - 1] = eb; in walk_down_reloc_tree()
1483 path->slots[i - 1] = 0; in walk_down_reloc_tree()
1485 return 1; in walk_down_reloc_tree()
1503 while (1) { in invalidate_extent_cache()
1520 objectid = ino + 1; in invalidate_extent_cache()
1541 end = (u64)-1; in invalidate_extent_cache()
1550 end = (u64)-1; in invalidate_extent_cache()
1555 btrfs_drop_extent_cache(BTRFS_I(inode), start, end, 1); in invalidate_extent_cache()
1568 if (path->slots[level] + 1 < in find_next_key()
1571 path->slots[level] + 1); in find_next_key()
1576 return 1; in find_next_key()
1633 ret2 = btrfs_drop_snapshot(reloc_root, 0, 1); in clean_dirty_subvols()
1643 ret2 = btrfs_drop_snapshot(root, 0, 1); in clean_dirty_subvols()
1713 * block COW, we COW at most from level 1 to root level for each tree. in merge_reloc_root()
1718 reserve_level = max_t(int, 1, btrfs_root_level(root_item)); in merge_reloc_root()
1722 while (1) { in merge_reloc_root()
1776 replaced = 1; in merge_reloc_root()
1786 * this is OK since root refs == 1 in this case. in merge_reloc_root()
1841 rc->merging_rsv_size += fs_info->nodesize * (BTRFS_MAX_LEVEL - 1) * 2; in prepare_to_merge()
1871 rc->merge_reloc_tree = 1; in prepare_to_merge()
1884 * set reference count to 1, so btrfs_recover_relocation in prepare_to_merge()
1888 btrfs_set_root_refs(&reloc_root->root_item, 1); in prepare_to_merge()
1936 found = 1; in merge_reloc_roots()
2045 while (1) { in select_reloc_root()
2073 WARN_ON(1); in select_reloc_root()
2084 while (1) { in select_reloc_root()
2108 struct btrfs_backref_edge *edges[BTRFS_MAX_LEVEL - 1]; in select_one_root()
2112 while (1) { in select_one_root()
2145 struct btrfs_backref_edge *edges[BTRFS_MAX_LEVEL - 1]; in calcu_metadata_size()
2153 while (1) { in calcu_metadata_size()
2182 num_bytes = calcu_metadata_size(rc, node, 1) * 2; in reserve_metadata_space()
2197 tmp <<= 1; in reserve_metadata_space()
2229 struct btrfs_backref_edge *edges[BTRFS_MAX_LEVEL - 1]; in do_relocation()
2231 struct extent_buffer *eb; in do_relocation() local
2239 BUG_ON(lowest && node->eb); in do_relocation()
2241 path->lowest_level = node->level + 1; in do_relocation()
2253 if (upper->eb && !upper->locked) { in do_relocation()
2255 ret = btrfs_bin_search(upper->eb, key, &slot); in do_relocation()
2261 bytenr = btrfs_node_blockptr(upper->eb, slot); in do_relocation()
2262 if (node->eb->start == bytenr) in do_relocation()
2268 if (!upper->eb) { in do_relocation()
2269 ret = btrfs_search_slot(trans, root, key, path, 0, 1); in do_relocation()
2280 if (!upper->eb) { in do_relocation()
2281 upper->eb = path->nodes[upper->level]; in do_relocation()
2284 BUG_ON(upper->eb != path->nodes[upper->level]); in do_relocation()
2287 upper->locked = 1; in do_relocation()
2293 ret = btrfs_bin_search(upper->eb, key, &slot); in do_relocation()
2301 bytenr = btrfs_node_blockptr(upper->eb, slot); in do_relocation()
2307 upper->eb->start); in do_relocation()
2312 if (node->eb->start == bytenr) in do_relocation()
2317 generation = btrfs_node_ptr_generation(upper->eb, slot); in do_relocation()
2318 btrfs_node_key_to_cpu(upper->eb, &first_key, slot); in do_relocation()
2319 eb = read_tree_block(fs_info, bytenr, generation, in do_relocation()
2320 upper->level - 1, &first_key); in do_relocation()
2321 if (IS_ERR(eb)) { in do_relocation()
2322 err = PTR_ERR(eb); in do_relocation()
2324 } else if (!extent_buffer_uptodate(eb)) { in do_relocation()
2325 free_extent_buffer(eb); in do_relocation()
2329 btrfs_tree_lock(eb); in do_relocation()
2330 btrfs_set_lock_blocking_write(eb); in do_relocation()
2332 if (!node->eb) { in do_relocation()
2333 ret = btrfs_cow_block(trans, root, eb, upper->eb, in do_relocation()
2334 slot, &eb, BTRFS_NESTING_COW); in do_relocation()
2335 btrfs_tree_unlock(eb); in do_relocation()
2336 free_extent_buffer(eb); in do_relocation()
2341 BUG_ON(node->eb != eb); in do_relocation()
2343 btrfs_set_node_blockptr(upper->eb, slot, in do_relocation()
2344 node->eb->start); in do_relocation()
2345 btrfs_set_node_ptr_generation(upper->eb, slot, in do_relocation()
2347 btrfs_mark_buffer_dirty(upper->eb); in do_relocation()
2350 node->eb->start, blocksize, in do_relocation()
2351 upper->eb->start); in do_relocation()
2354 btrfs_header_owner(upper->eb)); in do_relocation()
2358 ret = btrfs_drop_subtree(trans, root, eb, upper->eb); in do_relocation()
2388 btrfs_node_key_to_cpu(node->eb, &key, 0); in link_to_upper()
2429 struct btrfs_backref_edge *edges[BTRFS_MAX_LEVEL - 1]; in update_processed_blocks()
2434 while (1) { in update_processed_blocks()
2457 bytenr + blocksize - 1, EXTENT_DIRTY, 1, NULL)) in tree_block_processed()
2458 return 1; in tree_block_processed()
2465 struct extent_buffer *eb; in get_tree_block_key() local
2467 eb = read_tree_block(fs_info, block->bytenr, block->key.offset, in get_tree_block_key()
2469 if (IS_ERR(eb)) { in get_tree_block_key()
2470 return PTR_ERR(eb); in get_tree_block_key()
2471 } else if (!extent_buffer_uptodate(eb)) { in get_tree_block_key()
2472 free_extent_buffer(eb); in get_tree_block_key()
2476 btrfs_item_key_to_cpu(eb, &block->key, 0); in get_tree_block_key()
2478 btrfs_node_key_to_cpu(eb, &block->key, 0); in get_tree_block_key()
2479 free_extent_buffer(eb); in get_tree_block_key()
2480 block->key_ready = 1; in get_tree_block_key()
2527 ret = btrfs_search_slot(trans, root, key, path, 0, 1); in relocate_tree_block()
2535 ret = do_relocation(trans, rc, node, key, path, 1); in relocate_tree_block()
2622 prealloc_end + 1 - prealloc_start); in prealloc_file_extent_cluster()
2629 if (nr + 1 < cluster->nr) in prealloc_file_extent_cluster()
2630 end = cluster->boundary[nr + 1] - 1 - offset; in prealloc_file_extent_cluster()
2635 num_bytes = end + 1 - start; in prealloc_file_extent_cluster()
2638 end + 1, &alloc_hint); in prealloc_file_extent_cluster()
2639 cur_offset = end + 1; in prealloc_file_extent_cluster()
2648 prealloc_end + 1 - cur_offset); in prealloc_file_extent_cluster()
2665 em->len = end + 1 - start; in setup_extent_mapping()
2671 while (1) { in setup_extent_mapping()
2740 last_index + 1 - index); in relocate_file_extent_cluster()
2756 last_index + 1 - index); in relocate_file_extent_cluster()
2775 page_end = page_start + PAGE_SIZE - 1; in relocate_file_extent_cluster()
2833 if (cluster->nr > 0 && extent_key->objectid != cluster->end + 1) { in relocate_data_extent()
2844 cluster->end = extent_key->objectid + extent_key->offset - 1; in relocate_data_extent()
2866 struct extent_buffer *eb; in add_tree_block() local
2872 int level = -1; in add_tree_block()
2875 eb = path->nodes[0]; in add_tree_block()
2876 item_size = btrfs_item_size_nr(eb, path->slots[0]); in add_tree_block()
2880 ei = btrfs_item_ptr(eb, path->slots[0], in add_tree_block()
2883 bi = (struct btrfs_tree_block_info *)(ei + 1); in add_tree_block()
2884 level = btrfs_tree_block_level(eb, bi); in add_tree_block()
2888 generation = btrfs_extent_generation(eb, ei); in add_tree_block()
2890 btrfs_print_v0_err(eb->fs_info); in add_tree_block()
2891 btrfs_handle_fs_error(eb->fs_info, -EINVAL, NULL); in add_tree_block()
2899 BUG_ON(level == -1); in add_tree_block()
2945 key.offset = (u64)-1; in __add_tree_block()
2951 path->search_commit_root = 1; in __add_tree_block()
2952 path->skip_locking = 1; in __add_tree_block()
2976 ASSERT(ret == 1); in __add_tree_block()
2981 WARN_ON(1); in __add_tree_block()
3095 struct extent_buffer *eb; in add_data_references() local
3097 eb = read_tree_block(fs_info, ref_node->val, 0, 0, NULL); in add_data_references()
3098 if (IS_ERR(eb)) { in add_data_references()
3099 ret = PTR_ERR(eb); in add_data_references()
3102 ret = delete_v1_space_cache(eb, rc->block_group, in add_data_references()
3104 free_extent_buffer(eb); in add_data_references()
3131 while (1) { in find_next_extent()
3134 ret = 1; in find_next_extent()
3142 path->search_commit_root = 1; in find_next_extent()
3143 path->skip_locking = 1; in find_next_extent()
3159 ret = 1; in find_next_extent()
3188 rc->search_start = end + 1; in find_next_extent()
3225 return 1; in check_extent_flags()
3228 return 1; in check_extent_flags()
3231 return 1; in check_extent_flags()
3260 rc->create_reloc_tree = 1; in prepare_to_relocate()
3302 while (1) { in relocate_block_group()
3381 rc->found_file_extent = 1; in relocate_block_group()
3396 if (ret == 1) { in relocate_block_group()
3404 clear_extent_bits(&rc->processed_blocks, 0, (u64)-1, EXTENT_DIRTY); in relocate_block_group()
3422 btrfs_block_rsv_release(fs_info, rc->block_rsv, (u64)-1, NULL); in relocate_block_group()
3438 btrfs_block_rsv_release(fs_info, rc->block_rsv, (u64)-1, NULL); in relocate_block_group()
3475 btrfs_set_inode_generation(leaf, item, 1); in __insert_orphan_inode()
3541 btrfs_backref_init_cache(fs_info, &rc->backref_cache, 1); in alloc_reloc_control()
3621 rw = 1; in btrfs_relocate_block_group()
3657 while (1) { in btrfs_relocate_block_group()
3678 (u64)-1); in btrfs_relocate_block_group()
3682 0, -1); in btrfs_relocate_block_group()
3758 key.offset = (u64)-1; in btrfs_recover_relocation()
3760 while (1) { in btrfs_recover_relocation()
3834 rc->merge_reloc_tree = 1; in btrfs_recover_relocation()
3919 disk_bytenr + len - 1, &list, 0); in btrfs_reloc_clone_csums()
3970 first_cow = 1; in btrfs_reloc_cow_block()
3982 node->eb = cow; in btrfs_reloc_cow_block()
3988 node->pending = 1; in btrfs_reloc_cow_block()