Lines Matching refs:path

85 			  struct btrfs_path *path,  in btrfs_lookup_inode_extref()  argument
97 ret = btrfs_search_slot(trans, root, &key, path, ins_len, cow); in btrfs_lookup_inode_extref()
102 return btrfs_find_name_in_ext_backref(path->nodes[0], path->slots[0], in btrfs_lookup_inode_extref()
113 struct btrfs_path *path; in btrfs_del_inode_extref() local
127 path = btrfs_alloc_path(); in btrfs_del_inode_extref()
128 if (!path) in btrfs_del_inode_extref()
131 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_del_inode_extref()
142 extref = btrfs_find_name_in_ext_backref(path->nodes[0], path->slots[0], in btrfs_del_inode_extref()
150 leaf = path->nodes[0]; in btrfs_del_inode_extref()
151 item_size = btrfs_item_size(leaf, path->slots[0]); in btrfs_del_inode_extref()
160 ret = btrfs_del_item(trans, root, path); in btrfs_del_inode_extref()
165 item_start = btrfs_item_ptr_offset(leaf, path->slots[0]); in btrfs_del_inode_extref()
170 btrfs_truncate_item(path, item_size - del_len, 1); in btrfs_del_inode_extref()
173 btrfs_free_path(path); in btrfs_del_inode_extref()
182 struct btrfs_path *path; in btrfs_del_inode_ref() local
198 path = btrfs_alloc_path(); in btrfs_del_inode_ref()
199 if (!path) in btrfs_del_inode_ref()
202 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_del_inode_ref()
211 ref = btrfs_find_name_in_backref(path->nodes[0], path->slots[0], name); in btrfs_del_inode_ref()
217 leaf = path->nodes[0]; in btrfs_del_inode_ref()
218 item_size = btrfs_item_size(leaf, path->slots[0]); in btrfs_del_inode_ref()
224 ret = btrfs_del_item(trans, root, path); in btrfs_del_inode_ref()
229 item_start = btrfs_item_ptr_offset(leaf, path->slots[0]); in btrfs_del_inode_ref()
232 btrfs_truncate_item(path, item_size - sub_item_len, 1); in btrfs_del_inode_ref()
234 btrfs_free_path(path); in btrfs_del_inode_ref()
264 struct btrfs_path *path; in btrfs_insert_inode_extref() local
272 path = btrfs_alloc_path(); in btrfs_insert_inode_extref()
273 if (!path) in btrfs_insert_inode_extref()
276 ret = btrfs_insert_empty_item(trans, root, path, &key, in btrfs_insert_inode_extref()
279 if (btrfs_find_name_in_ext_backref(path->nodes[0], in btrfs_insert_inode_extref()
280 path->slots[0], in btrfs_insert_inode_extref()
285 btrfs_extend_item(path, ins_len); in btrfs_insert_inode_extref()
291 leaf = path->nodes[0]; in btrfs_insert_inode_extref()
292 ptr = (unsigned long)btrfs_item_ptr(leaf, path->slots[0], char); in btrfs_insert_inode_extref()
293 ptr += btrfs_item_size(leaf, path->slots[0]) - ins_len; in btrfs_insert_inode_extref()
296 btrfs_set_inode_extref_name_len(path->nodes[0], extref, name->len); in btrfs_insert_inode_extref()
297 btrfs_set_inode_extref_index(path->nodes[0], extref, index); in btrfs_insert_inode_extref()
298 btrfs_set_inode_extref_parent(path->nodes[0], extref, ref_objectid); in btrfs_insert_inode_extref()
301 write_extent_buffer(path->nodes[0], name->name, ptr, name->len); in btrfs_insert_inode_extref()
302 btrfs_mark_buffer_dirty(path->nodes[0]); in btrfs_insert_inode_extref()
305 btrfs_free_path(path); in btrfs_insert_inode_extref()
315 struct btrfs_path *path; in btrfs_insert_inode_ref() local
326 path = btrfs_alloc_path(); in btrfs_insert_inode_ref()
327 if (!path) in btrfs_insert_inode_ref()
330 path->skip_release_on_error = 1; in btrfs_insert_inode_ref()
331 ret = btrfs_insert_empty_item(trans, root, path, &key, in btrfs_insert_inode_ref()
335 ref = btrfs_find_name_in_backref(path->nodes[0], path->slots[0], in btrfs_insert_inode_ref()
340 old_size = btrfs_item_size(path->nodes[0], path->slots[0]); in btrfs_insert_inode_ref()
341 btrfs_extend_item(path, ins_len); in btrfs_insert_inode_ref()
342 ref = btrfs_item_ptr(path->nodes[0], path->slots[0], in btrfs_insert_inode_ref()
345 btrfs_set_inode_ref_name_len(path->nodes[0], ref, name->len); in btrfs_insert_inode_ref()
346 btrfs_set_inode_ref_index(path->nodes[0], ref, index); in btrfs_insert_inode_ref()
351 if (btrfs_find_name_in_backref(path->nodes[0], in btrfs_insert_inode_ref()
352 path->slots[0], in btrfs_insert_inode_ref()
360 ref = btrfs_item_ptr(path->nodes[0], path->slots[0], in btrfs_insert_inode_ref()
362 btrfs_set_inode_ref_name_len(path->nodes[0], ref, name->len); in btrfs_insert_inode_ref()
363 btrfs_set_inode_ref_index(path->nodes[0], ref, index); in btrfs_insert_inode_ref()
366 write_extent_buffer(path->nodes[0], name->name, ptr, name->len); in btrfs_insert_inode_ref()
367 btrfs_mark_buffer_dirty(path->nodes[0]); in btrfs_insert_inode_ref()
370 btrfs_free_path(path); in btrfs_insert_inode_ref()
388 struct btrfs_path *path, u64 objectid) in btrfs_insert_empty_inode() argument
396 ret = btrfs_insert_empty_item(trans, root, path, &key, in btrfs_insert_empty_inode()
402 *root, struct btrfs_path *path, in btrfs_lookup_inode() argument
412 ret = btrfs_search_slot(trans, root, location, path, ins_len, cow); in btrfs_lookup_inode()
414 location->offset == (u64)-1 && path->slots[0] != 0) { in btrfs_lookup_inode()
415 slot = path->slots[0] - 1; in btrfs_lookup_inode()
416 leaf = path->nodes[0]; in btrfs_lookup_inode()
420 path->slots[0]--; in btrfs_lookup_inode()
464 struct btrfs_path *path; in btrfs_truncate_inode_items() local
495 path = btrfs_alloc_path(); in btrfs_truncate_inode_items()
496 if (!path) in btrfs_truncate_inode_items()
498 path->reada = READA_BACK; in btrfs_truncate_inode_items()
516 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_truncate_inode_items()
523 if (path->slots[0] == 0) in btrfs_truncate_inode_items()
525 path->slots[0]--; in btrfs_truncate_inode_items()
533 leaf = path->nodes[0]; in btrfs_truncate_inode_items()
534 btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]); in btrfs_truncate_inode_items()
545 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_truncate_inode_items()
556 path->slots[0]); in btrfs_truncate_inode_items()
620 btrfs_truncate_item(path, size, 1); in btrfs_truncate_inode_items()
656 ((path->slots[0] + 1) == pending_del_slot)); in btrfs_truncate_inode_items()
661 pending_del_slot = path->slots[0]; in btrfs_truncate_inode_items()
664 path->slots[0] + 1 == pending_del_slot) { in btrfs_truncate_inode_items()
667 pending_del_slot = path->slots[0]; in btrfs_truncate_inode_items()
698 if (path->slots[0] == 0 || in btrfs_truncate_inode_items()
699 path->slots[0] != pending_del_slot || in btrfs_truncate_inode_items()
702 ret = btrfs_del_items(trans, root, path, in btrfs_truncate_inode_items()
711 btrfs_release_path(path); in btrfs_truncate_inode_items()
733 path->slots[0]--; in btrfs_truncate_inode_items()
740 err = btrfs_del_items(trans, root, path, pending_del_slot, in btrfs_truncate_inode_items()
752 btrfs_free_path(path); in btrfs_truncate_inode_items()