Lines Matching refs:path

224 static int add_all_parents(struct btrfs_root *root, struct btrfs_path *path,  in add_all_parents()  argument
241 eb = path->nodes[level]; in add_all_parents()
253 if (path->slots[0] >= btrfs_header_nritems(path->nodes[0])) in add_all_parents()
254 ret = btrfs_next_old_leaf(root, path, time_seq); in add_all_parents()
257 eb = path->nodes[0]; in add_all_parents()
258 slot = path->slots[0]; in add_all_parents()
294 ret = btrfs_next_old_item(root, path, time_seq); in add_all_parents()
309 struct btrfs_path *path, u64 time_seq, in __resolve_indirect_ref() argument
335 if (path->search_commit_root) in __resolve_indirect_ref()
345 path->lowest_level = level; in __resolve_indirect_ref()
346 ret = btrfs_search_old_slot(root, &ref->key_for_search, path, time_seq); in __resolve_indirect_ref()
359 eb = path->nodes[level]; in __resolve_indirect_ref()
366 eb = path->nodes[level]; in __resolve_indirect_ref()
369 ret = add_all_parents(root, path, parents, ref, level, time_seq, in __resolve_indirect_ref()
372 path->lowest_level = 0; in __resolve_indirect_ref()
373 btrfs_release_path(path); in __resolve_indirect_ref()
381 struct btrfs_path *path, u64 time_seq, in __resolve_indirect_refs() argument
413 err = __resolve_indirect_ref(fs_info, path, time_seq, ref, in __resolve_indirect_refs()
679 struct btrfs_path *path, u64 bytenr, in __add_inline_refs() argument
697 leaf = path->nodes[0]; in __add_inline_refs()
698 slot = path->slots[0]; in __add_inline_refs()
792 struct btrfs_path *path, u64 bytenr, in __add_keyed_refs() argument
802 ret = btrfs_next_item(extent_root, path); in __add_keyed_refs()
810 slot = path->slots[0]; in __add_keyed_refs()
811 leaf = path->nodes[0]; in __add_keyed_refs()
894 struct btrfs_path *path; local
915 path = btrfs_alloc_path();
916 if (!path)
919 path->search_commit_root = 1;
920 path->skip_locking = 1;
931 ret = btrfs_search_slot(trans, fs_info->extent_root, &key, path, 0, 0);
953 btrfs_release_path(path);
976 if (path->slots[0]) {
980 path->slots[0]--;
981 leaf = path->nodes[0];
982 slot = path->slots[0];
987 ret = __add_inline_refs(fs_info, path, bytenr,
992 ret = __add_keyed_refs(fs_info, path, bytenr,
998 btrfs_release_path(path);
1008 ret = __resolve_indirect_refs(fs_info, path, time_seq, &prefs,
1074 btrfs_free_path(path);
1267 u64 start_off, struct btrfs_path *path, argument
1282 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0);
1287 leaf = path->nodes[0];
1288 slot = path->slots[0];
1299 ret = btrfs_next_leaf(root, path);
1323 ptr = btrfs_item_ptr_offset(leaf, path->slots[0]);
1348 char *btrfs_ref_to_path(struct btrfs_root *fs_root, struct btrfs_path *path, argument
1359 int leave_spinning = path->leave_spinning;
1365 path->leave_spinning = 1;
1372 if (!path->skip_locking)
1376 ret = btrfs_find_item(fs_root, path, parent, 0,
1389 slot = path->slots[0];
1390 eb = path->nodes[0];
1393 if (!path->skip_locking)
1395 path->nodes[0] = NULL;
1396 path->locks[0] = 0;
1398 btrfs_release_path(path);
1410 btrfs_release_path(path);
1411 path->leave_spinning = leave_spinning;
1425 struct btrfs_path *path, struct btrfs_key *found_key, argument
1443 ret = btrfs_search_slot(NULL, fs_info->extent_root, &key, path, 0, 0);
1447 ret = btrfs_previous_extent_item(fs_info->extent_root, path, 0);
1453 btrfs_item_key_to_cpu(path->nodes[0], found_key, path->slots[0]);
1465 eb = path->nodes[0];
1466 item_size = btrfs_item_size_nr(eb, path->slots[0]);
1469 ei = btrfs_item_ptr(eb, path->slots[0], struct btrfs_extent_item);
1687 struct btrfs_path *path, argument
1694 int search_commit_root = path->search_commit_root;
1696 ret = extent_from_logical(fs_info, logical, path, &found_key, &flags);
1697 btrfs_release_path(path);
1715 struct btrfs_path *path, argument
1731 ret = btrfs_find_item(fs_root, path, inum,
1744 slot = path->slots[0];
1745 eb = btrfs_clone_extent_buffer(path->nodes[0]);
1753 btrfs_release_path(path);
1775 btrfs_release_path(path);
1781 struct btrfs_path *path, argument
1796 ret = btrfs_find_one_extref(fs_root, inum, offset, path, &extref,
1806 slot = path->slots[0];
1807 eb = btrfs_clone_extent_buffer(path->nodes[0]);
1816 btrfs_release_path(path);
1842 btrfs_release_path(path);
1848 struct btrfs_path *path, iterate_irefs_t *iterate, argument
1854 ret = iterate_inode_refs(inum, fs_root, path, iterate, ctx);
1860 ret = iterate_inode_extrefs(inum, fs_root, path, iterate, ctx);
1950 struct btrfs_path *path) argument
1965 ifp->btrfs_path = path;