Lines Matching refs:key

98 				     u64 flags, struct btrfs_disk_key *key,
105 struct btrfs_key *key);
162 if (block_group->key.objectid < cache->key.objectid) { in btrfs_add_block_group_cache()
164 } else if (block_group->key.objectid > cache->key.objectid) { in btrfs_add_block_group_cache()
176 if (info->first_logical_byte > block_group->key.objectid) in btrfs_add_block_group_cache()
177 info->first_logical_byte = block_group->key.objectid; in btrfs_add_block_group_cache()
202 end = cache->key.objectid + cache->key.offset - 1; in block_group_cache_tree_search()
203 start = cache->key.objectid; in block_group_cache_tree_search()
206 if (!contains && (!ret || start < ret->key.objectid)) in block_group_cache_tree_search()
222 if (bytenr == 0 && info->first_logical_byte > ret->key.objectid) in block_group_cache_tree_search()
223 info->first_logical_byte = ret->key.objectid; in block_group_cache_tree_search()
246 start = cache->key.objectid; in free_excluded_extents()
247 end = start + cache->key.offset - 1; in free_excluded_extents()
263 if (cache->key.objectid < BTRFS_SUPER_INFO_OFFSET) { in exclude_super_stripes()
264 stripe_len = BTRFS_SUPER_INFO_OFFSET - cache->key.objectid; in exclude_super_stripes()
266 ret = add_excluded_extent(root, cache->key.objectid, in exclude_super_stripes()
275 cache->key.objectid, bytenr, in exclude_super_stripes()
283 if (logical[nr] > cache->key.objectid + in exclude_super_stripes()
284 cache->key.offset) in exclude_super_stripes()
287 if (logical[nr] + stripe_len <= cache->key.objectid) in exclude_super_stripes()
291 if (start < cache->key.objectid) { in exclude_super_stripes()
292 start = cache->key.objectid; in exclude_super_stripes()
296 cache->key.objectid + in exclude_super_stripes()
297 cache->key.offset - start); in exclude_super_stripes()
387 struct btrfs_key key; in caching_thread() local
402 last = max_t(u64, block_group->key.objectid, BTRFS_SUPER_INFO_OFFSET); in caching_thread()
414 key.objectid = last; in caching_thread()
415 key.offset = 0; in caching_thread()
416 key.type = BTRFS_EXTENT_ITEM_KEY; in caching_thread()
423 ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0); in caching_thread()
437 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in caching_thread()
439 ret = find_next_key(path, 0, &key); in caching_thread()
463 if (key.objectid < last) { in caching_thread()
464 key.objectid = last; in caching_thread()
465 key.offset = 0; in caching_thread()
466 key.type = BTRFS_EXTENT_ITEM_KEY; in caching_thread()
473 if (key.objectid < block_group->key.objectid) { in caching_thread()
478 if (key.objectid >= block_group->key.objectid + in caching_thread()
479 block_group->key.offset) in caching_thread()
482 if (key.type == BTRFS_EXTENT_ITEM_KEY || in caching_thread()
483 key.type == BTRFS_METADATA_ITEM_KEY) { in caching_thread()
486 key.objectid); in caching_thread()
487 if (key.type == BTRFS_METADATA_ITEM_KEY) in caching_thread()
488 last = key.objectid + in caching_thread()
491 last = key.objectid + key.offset; in caching_thread()
503 block_group->key.objectid + in caching_thread()
504 block_group->key.offset); in caching_thread()
548 caching_ctl->progress = cache->key.objectid; in cache_block_group()
718 struct btrfs_key key; in btrfs_lookup_data_extent() local
725 key.objectid = start; in btrfs_lookup_data_extent()
726 key.offset = len; in btrfs_lookup_data_extent()
727 key.type = BTRFS_EXTENT_ITEM_KEY; in btrfs_lookup_data_extent()
728 ret = btrfs_search_slot(NULL, root->fs_info->extent_root, &key, path, in btrfs_lookup_data_extent()
752 struct btrfs_key key; in btrfs_lookup_extent_info() local
777 key.objectid = bytenr; in btrfs_lookup_extent_info()
778 key.offset = offset; in btrfs_lookup_extent_info()
780 key.type = BTRFS_METADATA_ITEM_KEY; in btrfs_lookup_extent_info()
782 key.type = BTRFS_EXTENT_ITEM_KEY; in btrfs_lookup_extent_info()
785 &key, path, 0, 0); in btrfs_lookup_extent_info()
789 if (ret > 0 && metadata && key.type == BTRFS_METADATA_ITEM_KEY) { in btrfs_lookup_extent_info()
792 btrfs_item_key_to_cpu(path->nodes[0], &key, in btrfs_lookup_extent_info()
794 if (key.objectid == bytenr && in btrfs_lookup_extent_info()
795 key.type == BTRFS_EXTENT_ITEM_KEY && in btrfs_lookup_extent_info()
796 key.offset == root->nodesize) in btrfs_lookup_extent_info()
990 struct btrfs_key key; in convert_extent_item_v0() local
999 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in convert_extent_item_v0()
1015 BUG_ON(key.objectid != found_key.objectid); in convert_extent_item_v0()
1032 ret = btrfs_search_slot(trans, root, &key, path, in convert_extent_item_v0()
1103 struct btrfs_key key; in lookup_extent_data_ref() local
1111 key.objectid = bytenr; in lookup_extent_data_ref()
1113 key.type = BTRFS_SHARED_DATA_REF_KEY; in lookup_extent_data_ref()
1114 key.offset = parent; in lookup_extent_data_ref()
1116 key.type = BTRFS_EXTENT_DATA_REF_KEY; in lookup_extent_data_ref()
1117 key.offset = hash_extent_data_ref(root_objectid, in lookup_extent_data_ref()
1122 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in lookup_extent_data_ref()
1132 key.type = BTRFS_EXTENT_REF_V0_KEY; in lookup_extent_data_ref()
1134 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in lookup_extent_data_ref()
1160 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in lookup_extent_data_ref()
1161 if (key.objectid != bytenr || in lookup_extent_data_ref()
1162 key.type != BTRFS_EXTENT_DATA_REF_KEY) in lookup_extent_data_ref()
1190 struct btrfs_key key; in insert_extent_data_ref() local
1196 key.objectid = bytenr; in insert_extent_data_ref()
1198 key.type = BTRFS_SHARED_DATA_REF_KEY; in insert_extent_data_ref()
1199 key.offset = parent; in insert_extent_data_ref()
1202 key.type = BTRFS_EXTENT_DATA_REF_KEY; in insert_extent_data_ref()
1203 key.offset = hash_extent_data_ref(root_objectid, in insert_extent_data_ref()
1208 ret = btrfs_insert_empty_item(trans, root, path, &key, size); in insert_extent_data_ref()
1233 key.offset++; in insert_extent_data_ref()
1234 ret = btrfs_insert_empty_item(trans, root, path, &key, in insert_extent_data_ref()
1267 struct btrfs_key key; in remove_extent_data_ref() local
1275 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in remove_extent_data_ref()
1277 if (key.type == BTRFS_EXTENT_DATA_REF_KEY) { in remove_extent_data_ref()
1281 } else if (key.type == BTRFS_SHARED_DATA_REF_KEY) { in remove_extent_data_ref()
1286 } else if (key.type == BTRFS_EXTENT_REF_V0_KEY) { in remove_extent_data_ref()
1303 if (key.type == BTRFS_EXTENT_DATA_REF_KEY) in remove_extent_data_ref()
1305 else if (key.type == BTRFS_SHARED_DATA_REF_KEY) in remove_extent_data_ref()
1324 struct btrfs_key key; in extent_data_ref_count() local
1331 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in extent_data_ref_count()
1341 } else if (key.type == BTRFS_EXTENT_DATA_REF_KEY) { in extent_data_ref_count()
1345 } else if (key.type == BTRFS_SHARED_DATA_REF_KEY) { in extent_data_ref_count()
1350 } else if (key.type == BTRFS_EXTENT_REF_V0_KEY) { in extent_data_ref_count()
1368 struct btrfs_key key; in lookup_tree_block_ref() local
1371 key.objectid = bytenr; in lookup_tree_block_ref()
1373 key.type = BTRFS_SHARED_BLOCK_REF_KEY; in lookup_tree_block_ref()
1374 key.offset = parent; in lookup_tree_block_ref()
1376 key.type = BTRFS_TREE_BLOCK_REF_KEY; in lookup_tree_block_ref()
1377 key.offset = root_objectid; in lookup_tree_block_ref()
1380 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in lookup_tree_block_ref()
1386 key.type = BTRFS_EXTENT_REF_V0_KEY; in lookup_tree_block_ref()
1387 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in lookup_tree_block_ref()
1401 struct btrfs_key key; in insert_tree_block_ref() local
1404 key.objectid = bytenr; in insert_tree_block_ref()
1406 key.type = BTRFS_SHARED_BLOCK_REF_KEY; in insert_tree_block_ref()
1407 key.offset = parent; in insert_tree_block_ref()
1409 key.type = BTRFS_TREE_BLOCK_REF_KEY; in insert_tree_block_ref()
1410 key.offset = root_objectid; in insert_tree_block_ref()
1413 ret = btrfs_insert_empty_item(trans, root, path, &key, 0); in insert_tree_block_ref()
1436 struct btrfs_key *key) in find_next_key() argument
1446 btrfs_item_key_to_cpu(path->nodes[level], key, in find_next_key()
1449 btrfs_node_key_to_cpu(path->nodes[level], key, in find_next_key()
1478 struct btrfs_key key; in lookup_inline_extent_backref() local
1494 key.objectid = bytenr; in lookup_inline_extent_backref()
1495 key.type = BTRFS_EXTENT_ITEM_KEY; in lookup_inline_extent_backref()
1496 key.offset = num_bytes; in lookup_inline_extent_backref()
1510 key.type = BTRFS_METADATA_ITEM_KEY; in lookup_inline_extent_backref()
1511 key.offset = owner; in lookup_inline_extent_backref()
1515 ret = btrfs_search_slot(trans, root, &key, path, extra_size, 1); in lookup_inline_extent_backref()
1529 btrfs_item_key_to_cpu(path->nodes[0], &key, in lookup_inline_extent_backref()
1531 if (key.objectid == bytenr && in lookup_inline_extent_backref()
1532 key.type == BTRFS_EXTENT_ITEM_KEY && in lookup_inline_extent_backref()
1533 key.offset == num_bytes) in lookup_inline_extent_backref()
1537 key.objectid = bytenr; in lookup_inline_extent_backref()
1538 key.type = BTRFS_EXTENT_ITEM_KEY; in lookup_inline_extent_backref()
1539 key.offset = num_bytes; in lookup_inline_extent_backref()
1643 if (find_next_key(path, 0, &key) == 0 && in lookup_inline_extent_backref()
1644 key.objectid == bytenr && in lookup_inline_extent_backref()
1645 key.type < BTRFS_BLOCK_GROUP_ITEM_KEY) { in lookup_inline_extent_backref()
1980 struct btrfs_key key; in __btrfs_inc_extent_ref() local
2008 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in __btrfs_inc_extent_ref()
2026 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in __btrfs_inc_extent_ref()
2121 btrfs_set_tree_block_key(leaf, bi, &extent_op->key); in __run_delayed_extent_op()
2130 struct btrfs_key key; in run_delayed_extent_op() local
2149 key.objectid = node->bytenr; in run_delayed_extent_op()
2152 key.type = BTRFS_METADATA_ITEM_KEY; in run_delayed_extent_op()
2153 key.offset = extent_op->level; in run_delayed_extent_op()
2155 key.type = BTRFS_EXTENT_ITEM_KEY; in run_delayed_extent_op()
2156 key.offset = node->num_bytes; in run_delayed_extent_op()
2162 ret = btrfs_search_slot(trans, root->fs_info->extent_root, &key, in run_delayed_extent_op()
2172 btrfs_item_key_to_cpu(path->nodes[0], &key, in run_delayed_extent_op()
2174 if (key.objectid == node->bytenr && in run_delayed_extent_op()
2175 key.type == BTRFS_EXTENT_ITEM_KEY && in run_delayed_extent_op()
2176 key.offset == node->num_bytes) in run_delayed_extent_op()
2183 key.objectid = node->bytenr; in run_delayed_extent_op()
2184 key.offset = node->num_bytes; in run_delayed_extent_op()
2185 key.type = BTRFS_EXTENT_ITEM_KEY; in run_delayed_extent_op()
2254 &extent_op->key, in run_delayed_tree_ref()
2976 struct btrfs_key key; in check_committed_ref() local
2980 key.objectid = bytenr; in check_committed_ref()
2981 key.offset = (u64)-1; in check_committed_ref()
2982 key.type = BTRFS_EXTENT_ITEM_KEY; in check_committed_ref()
2984 ret = btrfs_search_slot(NULL, extent_root, &key, path, 0, 0); in check_committed_ref()
2995 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in check_committed_ref()
2997 if (key.objectid != bytenr || key.type != BTRFS_EXTENT_ITEM_KEY) in check_committed_ref()
3083 struct btrfs_key key; in __btrfs_mod_ref() local
3114 btrfs_item_key_to_cpu(buf, &key, i); in __btrfs_mod_ref()
3115 if (key.type != BTRFS_EXTENT_DATA_KEY) in __btrfs_mod_ref()
3127 key.offset -= btrfs_file_extent_offset(buf, fi); in __btrfs_mod_ref()
3129 parent, ref_root, key.objectid, in __btrfs_mod_ref()
3130 key.offset, 1); in __btrfs_mod_ref()
3170 ret = btrfs_search_slot(trans, extent_root, &cache->key, path, 0, 1); in write_one_cache_group()
3197 const u64 next_bytenr = cache->key.objectid + cache->key.offset; in next_block_group()
3233 if (block_group->key.offset < (100 * 1024 * 1024)) { in cache_save_setup()
3324 num_pages = div_u64(block_group->key.offset, 256 * 1024 * 1024); in cache_save_setup()
3447 cache->key.objectid); in btrfs_start_dirty_block_groups()
3589 cache->key.objectid); in btrfs_write_dirty_block_groups()
3636 &cache->io_ctl, path, cache->key.objectid); in btrfs_write_dirty_block_groups()
5655 byte_in_group = bytenr - cache->key.objectid; in update_block_group()
5656 WARN_ON(byte_in_group > cache->key.offset); in update_block_group()
5666 num_bytes = min(total, cache->key.offset - byte_in_group); in update_block_group()
5736 bytenr = cache->key.objectid; in first_logical_byte()
5859 struct btrfs_key key; in btrfs_exclude_logged_extents() local
5867 btrfs_item_key_to_cpu(eb, &key, i); in btrfs_exclude_logged_extents()
5868 if (key.type != BTRFS_EXTENT_DATA_KEY) in btrfs_exclude_logged_extents()
5876 key.objectid = btrfs_file_extent_disk_bytenr(eb, item); in btrfs_exclude_logged_extents()
5877 key.offset = btrfs_file_extent_disk_num_bytes(eb, item); in btrfs_exclude_logged_extents()
5878 __exclude_logged_extent(log, key.objectid, key.offset); in btrfs_exclude_logged_extents()
5990 start >= cache->key.objectid + cache->key.offset) { in unpin_extent_range()
5997 len = cache->key.objectid + cache->key.offset - start; in unpin_extent_range()
6107 struct btrfs_key key; in __btrfs_free_extent() local
6149 btrfs_item_key_to_cpu(path->nodes[0], &key, in __btrfs_free_extent()
6151 if (key.objectid != bytenr) in __btrfs_free_extent()
6153 if (key.type == BTRFS_EXTENT_ITEM_KEY && in __btrfs_free_extent()
6154 key.offset == num_bytes) { in __btrfs_free_extent()
6158 if (key.type == BTRFS_METADATA_ITEM_KEY && in __btrfs_free_extent()
6159 key.offset == owner_objectid) { in __btrfs_free_extent()
6184 key.objectid = bytenr; in __btrfs_free_extent()
6185 key.type = BTRFS_EXTENT_ITEM_KEY; in __btrfs_free_extent()
6186 key.offset = num_bytes; in __btrfs_free_extent()
6189 key.type = BTRFS_METADATA_ITEM_KEY; in __btrfs_free_extent()
6190 key.offset = owner_objectid; in __btrfs_free_extent()
6194 &key, path, -1, 1); in __btrfs_free_extent()
6201 btrfs_item_key_to_cpu(path->nodes[0], &key, in __btrfs_free_extent()
6203 if (key.objectid == bytenr && in __btrfs_free_extent()
6204 key.type == BTRFS_EXTENT_ITEM_KEY && in __btrfs_free_extent()
6205 key.offset == num_bytes) in __btrfs_free_extent()
6211 key.objectid = bytenr; in __btrfs_free_extent()
6212 key.type = BTRFS_EXTENT_ITEM_KEY; in __btrfs_free_extent()
6213 key.offset = num_bytes; in __btrfs_free_extent()
6216 &key, path, -1, 1); in __btrfs_free_extent()
6260 key.objectid = bytenr; in __btrfs_free_extent()
6261 key.type = BTRFS_EXTENT_ITEM_KEY; in __btrfs_free_extent()
6262 key.offset = num_bytes; in __btrfs_free_extent()
6264 ret = btrfs_search_slot(trans, extent_root, &key, path, in __btrfs_free_extent()
6285 key.type == BTRFS_EXTENT_ITEM_KEY) { in __btrfs_free_extent()
6826 search_start = block_group->key.objectid; in find_free_extent()
6887 used_block_group->key.objectid, in find_free_extent()
7033 block_group->key.objectid + block_group->key.offset) { in find_free_extent()
7161 cache->key.objectid, cache->key.offset, in dump_space_info()
7332 u64 flags, struct btrfs_disk_key *key, in alloc_reserved_tree_block() argument
7381 btrfs_set_tree_block_key(leaf, block_info, key); in alloc_reserved_tree_block()
7583 struct btrfs_disk_key *key, int level, in btrfs_alloc_tree_block() argument
7632 if (key) in btrfs_alloc_tree_block()
7633 memcpy(&extent_op->key, key, sizeof(extent_op->key)); in btrfs_alloc_tree_block()
7635 memset(&extent_op->key, 0, sizeof(extent_op->key)); in btrfs_alloc_tree_block()
7694 struct btrfs_key key; in reada_walk_down() local
7747 btrfs_node_key_to_cpu(eb, &key, slot); in reada_walk_down()
7748 ret = btrfs_comp_cpu_keys(&key, in reada_walk_down()
7770 struct btrfs_key key; in account_leaf_items() local
7775 btrfs_item_key_to_cpu(eb, &key, i); in account_leaf_items()
7777 if (key.type != BTRFS_EXTENT_DATA_KEY) in account_leaf_items()
8074 struct btrfs_key key; in do_walk_down() local
8134 btrfs_node_key_to_cpu(path->nodes[level], &key, in do_walk_down()
8136 ret = btrfs_comp_cpu_keys(&key, &wc->update_progress); in do_walk_down()
8409 struct btrfs_key key; in btrfs_drop_snapshot() local
8448 btrfs_disk_key_to_cpu(&key, &root_item->drop_progress); in btrfs_drop_snapshot()
8449 memcpy(&wc->update_progress, &key, in btrfs_drop_snapshot()
8455 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_drop_snapshot()
8788 num_bytes = cache->key.offset - cache->reserved - cache->pinned - in set_block_group_ro()
8917 free_bytes += (block_group->key.offset - in btrfs_account_ro_block_groups_free_space()
8938 num_bytes = cache->key.offset - cache->reserved - cache->pinned - in btrfs_set_block_group_rw()
8992 if ((space_info->total_bytes != block_group->key.offset) && in btrfs_can_relocate()
9082 struct btrfs_path *path, struct btrfs_key *key) in find_first_block_group() argument
9089 ret = btrfs_search_slot(NULL, root, key, path, 0, 0); in find_first_block_group()
9106 if (found_key.objectid >= key->objectid && in find_first_block_group()
9146 last = block_group->key.objectid + block_group->key.offset; in btrfs_put_block_group_cache()
9298 cache->key.objectid = start; in btrfs_create_block_group_cache()
9299 cache->key.offset = size; in btrfs_create_block_group_cache()
9300 cache->key.type = BTRFS_BLOCK_GROUP_ITEM_KEY; in btrfs_create_block_group_cache()
9329 struct btrfs_key key; in btrfs_read_block_groups() local
9336 key.objectid = 0; in btrfs_read_block_groups()
9337 key.offset = 0; in btrfs_read_block_groups()
9338 key.type = BTRFS_BLOCK_GROUP_ITEM_KEY; in btrfs_read_block_groups()
9352 ret = find_first_block_group(root, path, &key); in btrfs_read_block_groups()
9388 key.objectid = found_key.objectid + found_key.offset; in btrfs_read_block_groups()
9457 if (btrfs_chunk_readonly(root, cache->key.objectid)) { in btrfs_read_block_groups()
9506 struct btrfs_key key; in btrfs_create_pending_block_groups() local
9515 memcpy(&key, &block_group->key, sizeof(key)); in btrfs_create_pending_block_groups()
9518 ret = btrfs_insert_item(trans, extent_root, &key, &item, in btrfs_create_pending_block_groups()
9523 key.objectid, key.offset); in btrfs_create_pending_block_groups()
9628 struct btrfs_key key; in btrfs_remove_block_group() local
9649 memcpy(&key, &block_group->key, sizeof(key)); in btrfs_remove_block_group()
9699 block_group->key.objectid); in btrfs_remove_block_group()
9732 key.objectid = BTRFS_FREE_SPACE_OBJECTID; in btrfs_remove_block_group()
9733 key.offset = block_group->key.objectid; in btrfs_remove_block_group()
9734 key.type = 0; in btrfs_remove_block_group()
9736 ret = btrfs_search_slot(trans, tree_root, &key, path, -1, 1); in btrfs_remove_block_group()
9753 if (root->fs_info->first_logical_byte == block_group->key.objectid) in btrfs_remove_block_group()
9816 < block_group->key.offset); in btrfs_remove_block_group()
9818 < block_group->key.offset); in btrfs_remove_block_group()
9820 < block_group->key.offset * factor); in btrfs_remove_block_group()
9822 block_group->space_info->total_bytes -= block_group->key.offset; in btrfs_remove_block_group()
9823 block_group->space_info->bytes_readonly -= block_group->key.offset; in btrfs_remove_block_group()
9824 block_group->space_info->disk_total -= block_group->key.offset * factor; in btrfs_remove_block_group()
9828 memcpy(&key, &block_group->key, sizeof(key)); in btrfs_remove_block_group()
9898 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_remove_block_group()
9982 start = block_group->key.objectid; in btrfs_delete_unused_bgs()
9983 end = start + block_group->key.offset - 1; in btrfs_delete_unused_bgs()
10030 block_group->key.objectid); in btrfs_delete_unused_bgs()
10103 if (cache->key.objectid >= (range->start + range->len)) { in btrfs_trim_fs()
10108 start = max(range->start, cache->key.objectid); in btrfs_trim_fs()
10110 cache->key.objectid + cache->key.offset); in btrfs_trim_fs()