Lines Matching refs:path

82 						     struct btrfs_path *path,  in btrfs_lookup_inode_extref()  argument
93 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_lookup_inode_extref()
98 return btrfs_find_name_in_ext_backref(path->nodes[0], path->slots[0], in btrfs_lookup_inode_extref()
109 BTRFS_PATH_AUTO_FREE(path); in btrfs_del_inode_extref()
123 path = btrfs_alloc_path(); in btrfs_del_inode_extref()
124 if (!path) in btrfs_del_inode_extref()
127 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_del_inode_extref()
138 extref = btrfs_find_name_in_ext_backref(path->nodes[0], path->slots[0], in btrfs_del_inode_extref()
145 leaf = path->nodes[0]; in btrfs_del_inode_extref()
146 item_size = btrfs_item_size(leaf, path->slots[0]); in btrfs_del_inode_extref()
152 return btrfs_del_item(trans, root, path); in btrfs_del_inode_extref()
156 item_start = btrfs_item_ptr_offset(leaf, path->slots[0]); in btrfs_del_inode_extref()
161 btrfs_truncate_item(trans, path, item_size - del_len, 1); in btrfs_del_inode_extref()
170 struct btrfs_path *path; in btrfs_del_inode_ref() local
186 path = btrfs_alloc_path(); in btrfs_del_inode_ref()
187 if (!path) in btrfs_del_inode_ref()
190 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_del_inode_ref()
199 ref = btrfs_find_name_in_backref(path->nodes[0], path->slots[0], name); in btrfs_del_inode_ref()
205 leaf = path->nodes[0]; in btrfs_del_inode_ref()
206 item_size = btrfs_item_size(leaf, path->slots[0]); in btrfs_del_inode_ref()
212 ret = btrfs_del_item(trans, root, path); in btrfs_del_inode_ref()
217 item_start = btrfs_item_ptr_offset(leaf, path->slots[0]); in btrfs_del_inode_ref()
220 btrfs_truncate_item(trans, path, item_size - sub_item_len, 1); in btrfs_del_inode_ref()
222 btrfs_free_path(path); in btrfs_del_inode_ref()
252 BTRFS_PATH_AUTO_FREE(path); in btrfs_insert_inode_extref()
260 path = btrfs_alloc_path(); in btrfs_insert_inode_extref()
261 if (!path) in btrfs_insert_inode_extref()
264 ret = btrfs_insert_empty_item(trans, root, path, &key, in btrfs_insert_inode_extref()
267 if (btrfs_find_name_in_ext_backref(path->nodes[0], in btrfs_insert_inode_extref()
268 path->slots[0], in btrfs_insert_inode_extref()
273 btrfs_extend_item(trans, path, ins_len); in btrfs_insert_inode_extref()
279 leaf = path->nodes[0]; in btrfs_insert_inode_extref()
280 ptr = (unsigned long)btrfs_item_ptr(leaf, path->slots[0], char); in btrfs_insert_inode_extref()
281 ptr += btrfs_item_size(leaf, path->slots[0]) - ins_len; in btrfs_insert_inode_extref()
284 btrfs_set_inode_extref_name_len(path->nodes[0], extref, name->len); in btrfs_insert_inode_extref()
285 btrfs_set_inode_extref_index(path->nodes[0], extref, index); in btrfs_insert_inode_extref()
286 btrfs_set_inode_extref_parent(path->nodes[0], extref, ref_objectid); in btrfs_insert_inode_extref()
289 write_extent_buffer(path->nodes[0], name->name, ptr, name->len); in btrfs_insert_inode_extref()
300 struct btrfs_path *path; in btrfs_insert_inode_ref() local
311 path = btrfs_alloc_path(); in btrfs_insert_inode_ref()
312 if (!path) in btrfs_insert_inode_ref()
315 path->skip_release_on_error = 1; in btrfs_insert_inode_ref()
316 ret = btrfs_insert_empty_item(trans, root, path, &key, in btrfs_insert_inode_ref()
320 ref = btrfs_find_name_in_backref(path->nodes[0], path->slots[0], in btrfs_insert_inode_ref()
325 old_size = btrfs_item_size(path->nodes[0], path->slots[0]); in btrfs_insert_inode_ref()
326 btrfs_extend_item(trans, path, ins_len); in btrfs_insert_inode_ref()
327 ref = btrfs_item_ptr(path->nodes[0], path->slots[0], in btrfs_insert_inode_ref()
330 btrfs_set_inode_ref_name_len(path->nodes[0], ref, name->len); in btrfs_insert_inode_ref()
331 btrfs_set_inode_ref_index(path->nodes[0], ref, index); in btrfs_insert_inode_ref()
336 if (btrfs_find_name_in_backref(path->nodes[0], in btrfs_insert_inode_ref()
337 path->slots[0], in btrfs_insert_inode_ref()
345 ref = btrfs_item_ptr(path->nodes[0], path->slots[0], in btrfs_insert_inode_ref()
347 btrfs_set_inode_ref_name_len(path->nodes[0], ref, name->len); in btrfs_insert_inode_ref()
348 btrfs_set_inode_ref_index(path->nodes[0], ref, index); in btrfs_insert_inode_ref()
351 write_extent_buffer(path->nodes[0], name->name, ptr, name->len); in btrfs_insert_inode_ref()
353 btrfs_free_path(path); in btrfs_insert_inode_ref()
371 struct btrfs_path *path, u64 objectid) in btrfs_insert_empty_inode() argument
379 ret = btrfs_insert_empty_item(trans, root, path, &key, in btrfs_insert_empty_inode()
385 *root, struct btrfs_path *path, in btrfs_lookup_inode() argument
395 ret = btrfs_search_slot(trans, root, location, path, ins_len, cow); in btrfs_lookup_inode()
397 location->offset == (u64)-1 && path->slots[0] != 0) { in btrfs_lookup_inode()
398 slot = path->slots[0] - 1; in btrfs_lookup_inode()
399 leaf = path->nodes[0]; in btrfs_lookup_inode()
403 path->slots[0]--; in btrfs_lookup_inode()
447 struct btrfs_path *path; in btrfs_truncate_inode_items() local
478 path = btrfs_alloc_path(); in btrfs_truncate_inode_items()
479 if (!path) in btrfs_truncate_inode_items()
481 path->reada = READA_BACK; in btrfs_truncate_inode_items()
499 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_truncate_inode_items()
506 if (path->slots[0] == 0) in btrfs_truncate_inode_items()
508 path->slots[0]--; in btrfs_truncate_inode_items()
516 leaf = path->nodes[0]; in btrfs_truncate_inode_items()
517 btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]); in btrfs_truncate_inode_items()
528 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_truncate_inode_items()
539 path->slots[0]); in btrfs_truncate_inode_items()
602 btrfs_truncate_item(trans, path, size, 1); in btrfs_truncate_inode_items()
638 ((path->slots[0] + 1) == pending_del_slot)); in btrfs_truncate_inode_items()
643 pending_del_slot = path->slots[0]; in btrfs_truncate_inode_items()
645 } else if (path->slots[0] + 1 == pending_del_slot) { in btrfs_truncate_inode_items()
648 pending_del_slot = path->slots[0]; in btrfs_truncate_inode_items()
680 if (path->slots[0] == 0 || in btrfs_truncate_inode_items()
681 path->slots[0] != pending_del_slot || in btrfs_truncate_inode_items()
684 ret = btrfs_del_items(trans, root, path, in btrfs_truncate_inode_items()
693 btrfs_release_path(path); in btrfs_truncate_inode_items()
715 path->slots[0]--; in btrfs_truncate_inode_items()
722 ret2 = btrfs_del_items(trans, root, path, pending_del_slot, pending_del_nr); in btrfs_truncate_inode_items()
733 btrfs_free_path(path); in btrfs_truncate_inode_items()