Lines Matching refs:key
30 num_bitmaps = div_u64(cache->key.offset + bitmap_range - 1, in set_free_space_tree_thresholds()
53 struct btrfs_key key; in add_new_free_space_info() local
57 key.objectid = block_group->key.objectid; in add_new_free_space_info()
58 key.type = BTRFS_FREE_SPACE_INFO_KEY; in add_new_free_space_info()
59 key.offset = block_group->key.offset; in add_new_free_space_info()
61 ret = btrfs_insert_empty_item(trans, root, path, &key, sizeof(*info)); in add_new_free_space_info()
86 struct btrfs_key key; in search_free_space_info() local
89 key.objectid = block_group->key.objectid; in search_free_space_info()
90 key.type = BTRFS_FREE_SPACE_INFO_KEY; in search_free_space_info()
91 key.offset = block_group->key.offset; in search_free_space_info()
93 ret = btrfs_search_slot(trans, root, &key, path, 0, cow); in search_free_space_info()
98 block_group->key.objectid); in search_free_space_info()
113 struct btrfs_key *key, struct btrfs_path *p, in btrfs_search_prev_slot() argument
118 ret = btrfs_search_slot(trans, root, key, p, ins_len, cow); in btrfs_search_prev_slot()
189 struct btrfs_key key, found_key; in convert_free_space_to_bitmaps() local
200 bitmap_size = free_space_bitmap_size(block_group->key.offset, in convert_free_space_to_bitmaps()
208 start = block_group->key.objectid; in convert_free_space_to_bitmaps()
209 end = block_group->key.objectid + block_group->key.offset; in convert_free_space_to_bitmaps()
211 key.objectid = end - 1; in convert_free_space_to_bitmaps()
212 key.type = (u8)-1; in convert_free_space_to_bitmaps()
213 key.offset = (u64)-1; in convert_free_space_to_bitmaps()
216 ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1); in convert_free_space_to_bitmaps()
227 ASSERT(found_key.objectid == block_group->key.objectid); in convert_free_space_to_bitmaps()
228 ASSERT(found_key.offset == block_group->key.offset); in convert_free_space_to_bitmaps()
274 block_group->key.objectid, extent_count, in convert_free_space_to_bitmaps()
293 key.objectid = i; in convert_free_space_to_bitmaps()
294 key.type = BTRFS_FREE_SPACE_BITMAP_KEY; in convert_free_space_to_bitmaps()
295 key.offset = extent_size; in convert_free_space_to_bitmaps()
297 ret = btrfs_insert_empty_item(trans, root, path, &key, in convert_free_space_to_bitmaps()
329 struct btrfs_key key, found_key; in convert_free_space_to_extents() local
339 bitmap_size = free_space_bitmap_size(block_group->key.offset, in convert_free_space_to_extents()
347 start = block_group->key.objectid; in convert_free_space_to_extents()
348 end = block_group->key.objectid + block_group->key.offset; in convert_free_space_to_extents()
350 key.objectid = end - 1; in convert_free_space_to_extents()
351 key.type = (u8)-1; in convert_free_space_to_extents()
352 key.offset = (u64)-1; in convert_free_space_to_extents()
355 ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1); in convert_free_space_to_extents()
366 ASSERT(found_key.objectid == block_group->key.objectid); in convert_free_space_to_extents()
367 ASSERT(found_key.offset == block_group->key.offset); in convert_free_space_to_extents()
416 nrbits = div_u64(block_group->key.offset, block_group->fs_info->sectorsize); in convert_free_space_to_extents()
423 key.objectid = start + start_bit * block_group->fs_info->sectorsize; in convert_free_space_to_extents()
424 key.type = BTRFS_FREE_SPACE_EXTENT_KEY; in convert_free_space_to_extents()
425 key.offset = (end_bit - start_bit) * block_group->fs_info->sectorsize; in convert_free_space_to_extents()
427 ret = btrfs_insert_empty_item(trans, root, path, &key, 0); in convert_free_space_to_extents()
440 block_group->key.objectid, extent_count, in convert_free_space_to_extents()
498 struct btrfs_key key; in free_space_test_bit() local
503 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in free_space_test_bit()
504 ASSERT(key.type == BTRFS_FREE_SPACE_BITMAP_KEY); in free_space_test_bit()
506 found_start = key.objectid; in free_space_test_bit()
507 found_end = key.objectid + key.offset; in free_space_test_bit()
522 struct btrfs_key key; in free_space_set_bits() local
528 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in free_space_set_bits()
529 ASSERT(key.type == BTRFS_FREE_SPACE_BITMAP_KEY); in free_space_set_bits()
531 found_start = key.objectid; in free_space_set_bits()
532 found_end = key.objectid + key.offset; in free_space_set_bits()
561 struct btrfs_key key; in free_space_next_bitmap() local
568 btrfs_item_key_to_cpu(p->nodes[0], &key, p->slots[0]); in free_space_next_bitmap()
571 key.objectid += key.offset; in free_space_next_bitmap()
572 key.type = (u8)-1; in free_space_next_bitmap()
573 key.offset = (u64)-1; in free_space_next_bitmap()
575 return btrfs_search_prev_slot(trans, root, &key, p, 0, 1); in free_space_next_bitmap()
589 struct btrfs_key key; in modify_free_space_bitmap() local
600 if (start > block_group->key.objectid) { in modify_free_space_bitmap()
603 key.objectid = prev_block; in modify_free_space_bitmap()
604 key.type = (u8)-1; in modify_free_space_bitmap()
605 key.offset = (u64)-1; in modify_free_space_bitmap()
607 ret = btrfs_search_prev_slot(trans, root, &key, path, 0, 1); in modify_free_space_bitmap()
614 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in modify_free_space_bitmap()
615 if (start >= key.objectid + key.offset) { in modify_free_space_bitmap()
621 key.objectid = start; in modify_free_space_bitmap()
622 key.type = (u8)-1; in modify_free_space_bitmap()
623 key.offset = (u64)-1; in modify_free_space_bitmap()
625 ret = btrfs_search_prev_slot(trans, root, &key, path, 0, 1); in modify_free_space_bitmap()
652 if (end < block_group->key.objectid + block_group->key.offset) { in modify_free_space_bitmap()
654 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in modify_free_space_bitmap()
655 if (end >= key.objectid + key.offset) { in modify_free_space_bitmap()
702 struct btrfs_key key; in remove_free_space_extent() local
708 key.objectid = start; in remove_free_space_extent()
709 key.type = (u8)-1; in remove_free_space_extent()
710 key.offset = (u64)-1; in remove_free_space_extent()
712 ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1); in remove_free_space_extent()
716 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in remove_free_space_extent()
718 ASSERT(key.type == BTRFS_FREE_SPACE_EXTENT_KEY); in remove_free_space_extent()
720 found_start = key.objectid; in remove_free_space_extent()
721 found_end = key.objectid + key.offset; in remove_free_space_extent()
750 key.objectid = found_start; in remove_free_space_extent()
751 key.type = BTRFS_FREE_SPACE_EXTENT_KEY; in remove_free_space_extent()
752 key.offset = start - found_start; in remove_free_space_extent()
755 ret = btrfs_insert_empty_item(trans, root, path, &key, 0); in remove_free_space_extent()
763 key.objectid = end; in remove_free_space_extent()
764 key.type = BTRFS_FREE_SPACE_EXTENT_KEY; in remove_free_space_extent()
765 key.offset = found_end - end; in remove_free_space_extent()
768 ret = btrfs_insert_empty_item(trans, root, path, &key, 0); in remove_free_space_extent()
854 struct btrfs_key key, new_key; in add_free_space_extent() local
883 if (start == block_group->key.objectid) in add_free_space_extent()
885 key.objectid = start - 1; in add_free_space_extent()
886 key.type = (u8)-1; in add_free_space_extent()
887 key.offset = (u64)-1; in add_free_space_extent()
889 ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1); in add_free_space_extent()
893 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in add_free_space_extent()
895 if (key.type != BTRFS_FREE_SPACE_EXTENT_KEY) { in add_free_space_extent()
896 ASSERT(key.type == BTRFS_FREE_SPACE_INFO_KEY); in add_free_space_extent()
901 found_start = key.objectid; in add_free_space_extent()
902 found_end = key.objectid + key.offset; in add_free_space_extent()
903 ASSERT(found_start >= block_group->key.objectid && in add_free_space_extent()
904 found_end > block_group->key.objectid); in add_free_space_extent()
916 new_key.offset += key.offset; in add_free_space_extent()
923 if (end == block_group->key.objectid + block_group->key.offset) in add_free_space_extent()
925 key.objectid = end; in add_free_space_extent()
926 key.type = (u8)-1; in add_free_space_extent()
927 key.offset = (u64)-1; in add_free_space_extent()
929 ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1); in add_free_space_extent()
933 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in add_free_space_extent()
935 if (key.type != BTRFS_FREE_SPACE_EXTENT_KEY) { in add_free_space_extent()
936 ASSERT(key.type == BTRFS_FREE_SPACE_INFO_KEY); in add_free_space_extent()
941 found_start = key.objectid; in add_free_space_extent()
942 found_end = key.objectid + key.offset; in add_free_space_extent()
943 ASSERT(found_start >= block_group->key.objectid && in add_free_space_extent()
944 found_end > block_group->key.objectid); in add_free_space_extent()
956 new_key.offset += key.offset; in add_free_space_extent()
1050 struct btrfs_key key; in populate_free_space_tree() local
1078 key.objectid = block_group->key.objectid; in populate_free_space_tree()
1079 key.type = BTRFS_EXTENT_ITEM_KEY; in populate_free_space_tree()
1080 key.offset = 0; in populate_free_space_tree()
1082 ret = btrfs_search_slot_for_read(extent_root, &key, path, 1, 0); in populate_free_space_tree()
1087 start = block_group->key.objectid; in populate_free_space_tree()
1088 end = block_group->key.objectid + block_group->key.offset; in populate_free_space_tree()
1090 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in populate_free_space_tree()
1092 if (key.type == BTRFS_EXTENT_ITEM_KEY || in populate_free_space_tree()
1093 key.type == BTRFS_METADATA_ITEM_KEY) { in populate_free_space_tree()
1094 if (key.objectid >= end) in populate_free_space_tree()
1097 if (start < key.objectid) { in populate_free_space_tree()
1101 key.objectid - in populate_free_space_tree()
1106 start = key.objectid; in populate_free_space_tree()
1107 if (key.type == BTRFS_METADATA_ITEM_KEY) in populate_free_space_tree()
1110 start += key.offset; in populate_free_space_tree()
1111 } else if (key.type == BTRFS_BLOCK_GROUP_ITEM_KEY) { in populate_free_space_tree()
1112 if (key.objectid != block_group->key.objectid) in populate_free_space_tree()
1187 struct btrfs_key key; in clear_free_space_tree() local
1197 key.objectid = 0; in clear_free_space_tree()
1198 key.type = 0; in clear_free_space_tree()
1199 key.offset = 0; in clear_free_space_tree()
1202 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in clear_free_space_tree()
1280 block_group->key.objectid, in __add_block_group_free_space()
1281 block_group->key.offset); in __add_block_group_free_space()
1319 struct btrfs_key key, found_key; in remove_block_group_free_space() local
1339 start = block_group->key.objectid; in remove_block_group_free_space()
1340 end = block_group->key.objectid + block_group->key.offset; in remove_block_group_free_space()
1342 key.objectid = end - 1; in remove_block_group_free_space()
1343 key.type = (u8)-1; in remove_block_group_free_space()
1344 key.offset = (u64)-1; in remove_block_group_free_space()
1347 ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1); in remove_block_group_free_space()
1358 ASSERT(found_key.objectid == block_group->key.objectid); in remove_block_group_free_space()
1359 ASSERT(found_key.offset == block_group->key.offset); in remove_block_group_free_space()
1397 struct btrfs_key key; in load_free_space_bitmaps() local
1410 end = block_group->key.objectid + block_group->key.offset; in load_free_space_bitmaps()
1419 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in load_free_space_bitmaps()
1421 if (key.type == BTRFS_FREE_SPACE_INFO_KEY) in load_free_space_bitmaps()
1424 ASSERT(key.type == BTRFS_FREE_SPACE_BITMAP_KEY); in load_free_space_bitmaps()
1425 ASSERT(key.objectid < end && key.objectid + key.offset <= end); in load_free_space_bitmaps()
1427 caching_ctl->progress = key.objectid; in load_free_space_bitmaps()
1429 offset = key.objectid; in load_free_space_bitmaps()
1430 while (offset < key.objectid + key.offset) { in load_free_space_bitmaps()
1457 block_group->key.objectid, extent_count, in load_free_space_bitmaps()
1478 struct btrfs_key key; in load_free_space_extents() local
1488 end = block_group->key.objectid + block_group->key.offset; in load_free_space_extents()
1497 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in load_free_space_extents()
1499 if (key.type == BTRFS_FREE_SPACE_INFO_KEY) in load_free_space_extents()
1502 ASSERT(key.type == BTRFS_FREE_SPACE_EXTENT_KEY); in load_free_space_extents()
1503 ASSERT(key.objectid < end && key.objectid + key.offset <= end); in load_free_space_extents()
1505 caching_ctl->progress = key.objectid; in load_free_space_extents()
1507 total_found += add_new_free_space(block_group, key.objectid, in load_free_space_extents()
1508 key.objectid + key.offset); in load_free_space_extents()
1519 block_group->key.objectid, extent_count, in load_free_space_extents()