• Home
  • Raw
  • Download

Lines Matching full:path

16 					struct btrfs_path *path);
48 struct btrfs_path *path) in add_new_free_space_info() argument
60 ret = btrfs_insert_empty_item(trans, root, path, &key, sizeof(*info)); in add_new_free_space_info()
64 leaf = path->nodes[0]; in add_new_free_space_info()
65 info = btrfs_item_ptr(leaf, path->slots[0], in add_new_free_space_info()
73 btrfs_release_path(path); in add_new_free_space_info()
81 struct btrfs_path *path, int cow) in search_free_space_info() argument
91 ret = btrfs_search_slot(trans, root, &key, path, 0, cow); in search_free_space_info()
101 return btrfs_item_ptr(path->nodes[0], path->slots[0], in search_free_space_info()
181 struct btrfs_path *path) in convert_free_space_to_bitmaps() argument
213 ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1); in convert_free_space_to_bitmaps()
217 leaf = path->nodes[0]; in convert_free_space_to_bitmaps()
219 path->slots[0]++; in convert_free_space_to_bitmaps()
220 while (path->slots[0] > 0) { in convert_free_space_to_bitmaps()
221 btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0] - 1); in convert_free_space_to_bitmaps()
243 path->slots[0]--; in convert_free_space_to_bitmaps()
249 ret = btrfs_del_items(trans, root, path, path->slots[0], nr); in convert_free_space_to_bitmaps()
252 btrfs_release_path(path); in convert_free_space_to_bitmaps()
255 info = search_free_space_info(trans, fs_info, block_group, path, 1); in convert_free_space_to_bitmaps()
260 leaf = path->nodes[0]; in convert_free_space_to_bitmaps()
266 btrfs_release_path(path); in convert_free_space_to_bitmaps()
294 ret = btrfs_insert_empty_item(trans, root, path, &key, in convert_free_space_to_bitmaps()
299 leaf = path->nodes[0]; in convert_free_space_to_bitmaps()
300 ptr = btrfs_item_ptr_offset(leaf, path->slots[0]); in convert_free_space_to_bitmaps()
304 btrfs_release_path(path); in convert_free_space_to_bitmaps()
320 struct btrfs_path *path) in convert_free_space_to_extents() argument
351 ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1); in convert_free_space_to_extents()
355 leaf = path->nodes[0]; in convert_free_space_to_extents()
357 path->slots[0]++; in convert_free_space_to_extents()
358 while (path->slots[0] > 0) { in convert_free_space_to_extents()
359 btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0] - 1); in convert_free_space_to_extents()
382 ptr = btrfs_item_ptr_offset(leaf, path->slots[0] - 1); in convert_free_space_to_extents()
387 path->slots[0]--; in convert_free_space_to_extents()
393 ret = btrfs_del_items(trans, root, path, path->slots[0], nr); in convert_free_space_to_extents()
396 btrfs_release_path(path); in convert_free_space_to_extents()
399 info = search_free_space_info(trans, fs_info, block_group, path, 1); in convert_free_space_to_extents()
404 leaf = path->nodes[0]; in convert_free_space_to_extents()
410 btrfs_release_path(path); in convert_free_space_to_extents()
423 ret = btrfs_insert_empty_item(trans, root, path, &key, 0); in convert_free_space_to_extents()
426 btrfs_release_path(path); in convert_free_space_to_extents()
453 struct btrfs_path *path, in update_free_space_extent_count() argument
464 info = search_free_space_info(trans, trans->fs_info, block_group, path, in update_free_space_extent_count()
470 flags = btrfs_free_space_flags(path->nodes[0], info); in update_free_space_extent_count()
471 extent_count = btrfs_free_space_extent_count(path->nodes[0], info); in update_free_space_extent_count()
474 btrfs_set_free_space_extent_count(path->nodes[0], info, extent_count); in update_free_space_extent_count()
475 btrfs_mark_buffer_dirty(path->nodes[0]); in update_free_space_extent_count()
476 btrfs_release_path(path); in update_free_space_extent_count()
480 ret = convert_free_space_to_bitmaps(trans, block_group, path); in update_free_space_extent_count()
483 ret = convert_free_space_to_extents(trans, block_group, path); in update_free_space_extent_count()
491 struct btrfs_path *path, u64 offset) in free_space_test_bit() argument
498 leaf = path->nodes[0]; in free_space_test_bit()
499 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in free_space_test_bit()
506 ptr = btrfs_item_ptr_offset(leaf, path->slots[0]); in free_space_test_bit()
513 struct btrfs_path *path, u64 *start, u64 *size, in free_space_set_bits() argument
523 leaf = path->nodes[0]; in free_space_set_bits()
524 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in free_space_set_bits()
535 ptr = btrfs_item_ptr_offset(leaf, path->slots[0]); in free_space_set_bits()
550 * btrfs_next_leaf() doesn't get the path for writing. We can forgo the fancy
581 struct btrfs_path *path, in modify_free_space_bitmap() argument
603 ret = btrfs_search_prev_slot(trans, root, &key, path, 0, 1); in modify_free_space_bitmap()
607 prev_bit = free_space_test_bit(block_group, path, prev_block); in modify_free_space_bitmap()
610 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in modify_free_space_bitmap()
612 ret = free_space_next_bitmap(trans, root, path); in modify_free_space_bitmap()
621 ret = btrfs_search_prev_slot(trans, root, &key, path, 0, 1); in modify_free_space_bitmap()
635 free_space_set_bits(block_group, path, &cur_start, &cur_size, in modify_free_space_bitmap()
639 ret = free_space_next_bitmap(trans, root, path); in modify_free_space_bitmap()
650 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in modify_free_space_bitmap()
652 ret = free_space_next_bitmap(trans, root, path); in modify_free_space_bitmap()
657 next_bit = free_space_test_bit(block_group, path, end); in modify_free_space_bitmap()
684 btrfs_release_path(path); in modify_free_space_bitmap()
685 ret = update_free_space_extent_count(trans, block_group, path, in modify_free_space_bitmap()
694 struct btrfs_path *path, in remove_free_space_extent() argument
708 ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1); in remove_free_space_extent()
712 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in remove_free_space_extent()
740 ret = btrfs_del_item(trans, root, path); in remove_free_space_extent()
750 btrfs_release_path(path); in remove_free_space_extent()
751 ret = btrfs_insert_empty_item(trans, root, path, &key, 0); in remove_free_space_extent()
763 btrfs_release_path(path); in remove_free_space_extent()
764 ret = btrfs_insert_empty_item(trans, root, path, &key, 0); in remove_free_space_extent()
770 btrfs_release_path(path); in remove_free_space_extent()
771 ret = update_free_space_extent_count(trans, block_group, path, in remove_free_space_extent()
780 struct btrfs_path *path, u64 start, u64 size) in __remove_from_free_space_tree() argument
787 ret = __add_block_group_free_space(trans, block_group, path); in __remove_from_free_space_tree()
792 info = search_free_space_info(NULL, trans->fs_info, block_group, path, in __remove_from_free_space_tree()
796 flags = btrfs_free_space_flags(path->nodes[0], info); in __remove_from_free_space_tree()
797 btrfs_release_path(path); in __remove_from_free_space_tree()
800 return modify_free_space_bitmap(trans, block_group, path, in __remove_from_free_space_tree()
803 return remove_free_space_extent(trans, block_group, path, in __remove_from_free_space_tree()
812 struct btrfs_path *path; in remove_from_free_space_tree() local
818 path = btrfs_alloc_path(); in remove_from_free_space_tree()
819 if (!path) { in remove_from_free_space_tree()
832 ret = __remove_from_free_space_tree(trans, block_group, path, start, in remove_from_free_space_tree()
838 btrfs_free_path(path); in remove_from_free_space_tree()
846 struct btrfs_path *path, in add_free_space_extent() argument
885 ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1); in add_free_space_extent()
889 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in add_free_space_extent()
893 btrfs_release_path(path); in add_free_space_extent()
908 ret = btrfs_del_item(trans, root, path); in add_free_space_extent()
915 btrfs_release_path(path); in add_free_space_extent()
925 ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1); in add_free_space_extent()
929 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in add_free_space_extent()
933 btrfs_release_path(path); in add_free_space_extent()
949 ret = btrfs_del_item(trans, root, path); in add_free_space_extent()
955 btrfs_release_path(path); in add_free_space_extent()
959 ret = btrfs_insert_empty_item(trans, root, path, &new_key, 0); in add_free_space_extent()
963 btrfs_release_path(path); in add_free_space_extent()
964 ret = update_free_space_extent_count(trans, block_group, path, in add_free_space_extent()
973 struct btrfs_path *path, u64 start, u64 size) in __add_to_free_space_tree() argument
981 ret = __add_block_group_free_space(trans, block_group, path); in __add_to_free_space_tree()
986 info = search_free_space_info(NULL, fs_info, block_group, path, 0); in __add_to_free_space_tree()
989 flags = btrfs_free_space_flags(path->nodes[0], info); in __add_to_free_space_tree()
990 btrfs_release_path(path); in __add_to_free_space_tree()
993 return modify_free_space_bitmap(trans, block_group, path, in __add_to_free_space_tree()
996 return add_free_space_extent(trans, block_group, path, start, in __add_to_free_space_tree()
1005 struct btrfs_path *path; in add_to_free_space_tree() local
1011 path = btrfs_alloc_path(); in add_to_free_space_tree()
1012 if (!path) { in add_to_free_space_tree()
1025 ret = __add_to_free_space_tree(trans, block_group, path, start, size); in add_to_free_space_tree()
1030 btrfs_free_path(path); in add_to_free_space_tree()
1045 struct btrfs_path *path, *path2; in populate_free_space_tree() local
1050 path = btrfs_alloc_path(); in populate_free_space_tree()
1051 if (!path) in populate_free_space_tree()
1053 path->reada = READA_FORWARD; in populate_free_space_tree()
1057 btrfs_free_path(path); in populate_free_space_tree()
1078 ret = btrfs_search_slot_for_read(extent_root, &key, path, 1, 0); in populate_free_space_tree()
1086 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in populate_free_space_tree()
1112 ret = btrfs_next_item(extent_root, path); in populate_free_space_tree()
1130 btrfs_free_path(path); in populate_free_space_tree()
1182 struct btrfs_path *path; in clear_free_space_tree() local
1187 path = btrfs_alloc_path(); in clear_free_space_tree()
1188 if (!path) in clear_free_space_tree()
1191 path->leave_spinning = 1; in clear_free_space_tree()
1198 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in clear_free_space_tree()
1202 nr = btrfs_header_nritems(path->nodes[0]); in clear_free_space_tree()
1206 path->slots[0] = 0; in clear_free_space_tree()
1207 ret = btrfs_del_items(trans, root, path, 0, nr); in clear_free_space_tree()
1211 btrfs_release_path(path); in clear_free_space_tree()
1216 btrfs_free_path(path); in clear_free_space_tree()
1265 struct btrfs_path *path) in __add_block_group_free_space() argument
1271 ret = add_new_free_space_info(trans, block_group, path); in __add_block_group_free_space()
1275 return __add_to_free_space_tree(trans, block_group, path, in __add_block_group_free_space()
1284 struct btrfs_path *path = NULL; in add_block_group_free_space() local
1294 path = btrfs_alloc_path(); in add_block_group_free_space()
1295 if (!path) { in add_block_group_free_space()
1300 ret = __add_block_group_free_space(trans, block_group, path); in add_block_group_free_space()
1303 btrfs_free_path(path); in add_block_group_free_space()
1314 struct btrfs_path *path; in remove_block_group_free_space() local
1329 path = btrfs_alloc_path(); in remove_block_group_free_space()
1330 if (!path) { in remove_block_group_free_space()
1343 ret = btrfs_search_prev_slot(trans, root, &key, path, -1, 1); in remove_block_group_free_space()
1347 leaf = path->nodes[0]; in remove_block_group_free_space()
1349 path->slots[0]++; in remove_block_group_free_space()
1350 while (path->slots[0] > 0) { in remove_block_group_free_space()
1351 btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0] - 1); in remove_block_group_free_space()
1358 path->slots[0]--; in remove_block_group_free_space()
1366 path->slots[0]--; in remove_block_group_free_space()
1372 ret = btrfs_del_items(trans, root, path, path->slots[0], nr); in remove_block_group_free_space()
1375 btrfs_release_path(path); in remove_block_group_free_space()
1380 btrfs_free_path(path); in remove_block_group_free_space()
1387 struct btrfs_path *path, in load_free_space_bitmaps() argument
1409 ret = btrfs_next_item(root, path); in load_free_space_bitmaps()
1415 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in load_free_space_bitmaps()
1427 bit = free_space_test_bit(block_group, path, offset); in load_free_space_bitmaps()
1468 struct btrfs_path *path, in load_free_space_extents() argument
1487 ret = btrfs_next_item(root, path); in load_free_space_extents()
1493 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in load_free_space_extents()
1534 struct btrfs_path *path; in load_free_space_tree() local
1541 path = btrfs_alloc_path(); in load_free_space_tree()
1542 if (!path) in load_free_space_tree()
1549 path->skip_locking = 1; in load_free_space_tree()
1550 path->search_commit_root = 1; in load_free_space_tree()
1551 path->reada = READA_FORWARD; in load_free_space_tree()
1553 info = search_free_space_info(NULL, fs_info, block_group, path, 0); in load_free_space_tree()
1558 extent_count = btrfs_free_space_extent_count(path->nodes[0], info); in load_free_space_tree()
1559 flags = btrfs_free_space_flags(path->nodes[0], info); in load_free_space_tree()
1562 * We left path pointing to the free space info item, so now in load_free_space_tree()
1567 ret = load_free_space_bitmaps(caching_ctl, path, extent_count); in load_free_space_tree()
1569 ret = load_free_space_extents(caching_ctl, path, extent_count); in load_free_space_tree()
1572 btrfs_free_path(path); in load_free_space_tree()