• Home
  • Raw
  • Download

Lines Matching refs:path

418 static int add_all_parents(struct btrfs_root *root, struct btrfs_path *path,  in add_all_parents()  argument
438 eb = path->nodes[level]; in add_all_parents()
455 eb = path->nodes[0]; in add_all_parents()
456 if (path->slots[0] >= btrfs_header_nritems(eb) || in add_all_parents()
460 ret = btrfs_next_leaf(root, path); in add_all_parents()
462 ret = btrfs_next_old_leaf(root, path, time_seq); in add_all_parents()
466 eb = path->nodes[0]; in add_all_parents()
467 slot = path->slots[0]; in add_all_parents()
484 ret = btrfs_next_leaf(root, path); in add_all_parents()
486 ret = btrfs_next_old_leaf(root, path, time_seq); in add_all_parents()
525 ret = btrfs_next_item(root, path); in add_all_parents()
527 ret = btrfs_next_old_item(root, path, time_seq); in add_all_parents()
542 struct btrfs_path *path, u64 time_seq, in resolve_indirect_ref() argument
562 if (path->search_commit_root) in resolve_indirect_ref()
563 root = btrfs_get_fs_root_commit_root(fs_info, path, ref->root_id); in resolve_indirect_ref()
571 if (!path->search_commit_root && in resolve_indirect_ref()
582 if (path->search_commit_root) in resolve_indirect_ref()
614 path->lowest_level = level; in resolve_indirect_ref()
616 ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0); in resolve_indirect_ref()
618 ret = btrfs_search_old_slot(root, &search_key, path, time_seq); in resolve_indirect_ref()
628 eb = path->nodes[level]; in resolve_indirect_ref()
635 eb = path->nodes[level]; in resolve_indirect_ref()
638 ret = add_all_parents(root, path, parents, preftrees, ref, level, in resolve_indirect_ref()
643 path->lowest_level = 0; in resolve_indirect_ref()
644 btrfs_release_path(path); in resolve_indirect_ref()
685 struct btrfs_path *path, u64 time_seq, in resolve_indirect_refs() argument
731 err = resolve_indirect_ref(fs_info, path, time_seq, preftrees, in resolve_indirect_refs()
964 struct btrfs_path *path, u64 bytenr, in add_inline_refs() argument
982 leaf = path->nodes[0]; in add_inline_refs()
983 slot = path->slots[0]; in add_inline_refs()
1087 struct btrfs_path *path, u64 bytenr, in add_keyed_refs() argument
1098 ret = btrfs_next_item(extent_root, path); in add_keyed_refs()
1106 slot = path->slots[0]; in add_keyed_refs()
1107 leaf = path->nodes[0]; in add_keyed_refs()
1209 struct btrfs_path *path; local
1230 path = btrfs_alloc_path();
1231 if (!path)
1234 path->search_commit_root = 1;
1235 path->skip_locking = 1;
1239 path->skip_locking = 1;
1249 ret = btrfs_search_slot(trans, fs_info->extent_root, &key, path, 0, 0);
1277 btrfs_release_path(path);
1299 if (path->slots[0]) {
1303 path->slots[0]--;
1304 leaf = path->nodes[0];
1305 slot = path->slots[0];
1310 ret = add_inline_refs(fs_info, path, bytenr,
1314 ret = add_keyed_refs(fs_info, path, bytenr, info_level,
1321 btrfs_release_path(path);
1323 ret = add_missing_keys(fs_info, &preftrees, path->skip_locking == 0);
1329 ret = resolve_indirect_refs(fs_info, path, time_seq, &preftrees,
1385 if (!path->skip_locking) {
1391 if (!path->skip_locking)
1441 btrfs_free_path(path);
1629 u64 start_off, struct btrfs_path *path, argument
1644 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
1649 leaf = path->nodes[0];
1650 slot = path->slots[0];
1661 ret = btrfs_next_leaf(root, path);
1685 ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
1710 char *btrfs_ref_to_path(struct btrfs_root *fs_root, struct btrfs_path *path, argument
1721 int leave_spinning = path->leave_spinning;
1727 path->leave_spinning = 1;
1734 if (!path->skip_locking)
1738 ret = btrfs_find_item(fs_root, path, parent, 0,
1751 slot = path->slots[0];
1752 eb = path->nodes[0];
1755 if (!path->skip_locking)
1757 path->nodes[0] = NULL;
1758 path->locks[0] = 0;
1760 btrfs_release_path(path);
1772 btrfs_release_path(path);
1773 path->leave_spinning = leave_spinning;
1787 struct btrfs_path *path, struct btrfs_key *found_key, argument
1805 ret = btrfs_search_slot(NULL, fs_info->extent_root, &key, path, 0, 0);
1809 ret = btrfs_previous_extent_item(fs_info->extent_root, path, 0);
1815 btrfs_item_key_to_cpu(path->nodes[0], found_key, path->slots[0]);
1828 eb = path->nodes[0];
1829 item_size = btrfs_item_size_nr(eb, path->slots[0]);
1832 ei = btrfs_item_ptr(eb, path->slots[0], struct btrfs_extent_item);
2088 struct btrfs_path *path, argument
2095 int search_commit_root = path->search_commit_root;
2097 ret = extent_from_logical(fs_info, logical, path, &found_key, &flags);
2098 btrfs_release_path(path);
2116 struct btrfs_path *path, argument
2132 ret = btrfs_find_item(fs_root, path, inum,
2145 slot = path->slots[0];
2146 eb = btrfs_clone_extent_buffer(path->nodes[0]);
2151 btrfs_release_path(path);
2173 btrfs_release_path(path);
2179 struct btrfs_path *path, argument
2194 ret = btrfs_find_one_extref(fs_root, inum, offset, path, &extref,
2204 slot = path->slots[0];
2205 eb = btrfs_clone_extent_buffer(path->nodes[0]);
2210 btrfs_release_path(path);
2235 btrfs_release_path(path);
2241 struct btrfs_path *path, iterate_irefs_t *iterate, argument
2247 ret = iterate_inode_refs(inum, fs_root, path, iterate, ctx);
2253 ret = iterate_inode_extrefs(inum, fs_root, path, iterate, ctx);
2343 struct btrfs_path *path) argument
2358 ifp->btrfs_path = path;
2382 ret->path = btrfs_alloc_path();
2383 if (!ret->path) {
2389 ret->path->search_commit_root = 1;
2390 ret->path->skip_locking = 1;
2399 struct btrfs_path *path = iter->path; local
2409 ret = btrfs_search_slot(NULL, fs_info->extent_root, &key, path, 0, 0);
2416 if (path->slots[0] == 0) {
2421 path->slots[0]--;
2423 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]);
2430 iter->item_ptr = (u32)btrfs_item_ptr_offset(path->nodes[0],
2431 path->slots[0]);
2433 btrfs_item_size_nr(path->nodes[0], path->slots[0]));
2434 ei = btrfs_item_ptr(path->nodes[0], path->slots[0],
2444 if (btrfs_extent_flags(path->nodes[0], ei) & BTRFS_EXTENT_FLAG_DATA) {
2452 ret = btrfs_next_item(fs_info->extent_root, path);
2462 btrfs_item_key_to_cpu(path->nodes[0], &iter->cur_key,
2463 path->slots[0]);
2470 iter->cur_ptr = (u32)btrfs_item_ptr_offset(path->nodes[0],
2471 path->slots[0]);
2474 path->nodes[0], path->slots[0]));
2496 struct btrfs_path *path = iter->path; local
2526 ret = btrfs_next_item(iter->fs_info->extent_root, iter->path);
2530 btrfs_item_key_to_cpu(path->nodes[0], &iter->cur_key, path->slots[0]);
2535 iter->item_ptr = (u32)btrfs_item_ptr_offset(path->nodes[0],
2536 path->slots[0]);
2538 iter->end_ptr = iter->item_ptr + (u32)btrfs_item_size_nr(path->nodes[0],
2539 path->slots[0]);
2748 struct btrfs_path *path, argument
2795 path->search_commit_root = 1;
2796 path->skip_locking = 1;
2797 path->lowest_level = level;
2798 ret = btrfs_search_slot(NULL, root, tree_key, path, 0, 0);
2799 path->lowest_level = 0;
2804 if (ret > 0 && path->slots[level] > 0)
2805 path->slots[level]--;
2807 eb = path->nodes[level];
2808 if (btrfs_node_blockptr(eb, path->slots[level]) != cur->bytenr) {
2821 if (!path->nodes[level]) {
2842 eb = path->nodes[level];
2898 btrfs_release_path(path);
2914 struct btrfs_path *path, argument
3023 ret = handle_indirect_tree_backref(cache, path, &key, node_key,