Lines Matching refs:path

104 			     struct btrfs_path *path, u64 objectid);
108 struct btrfs_path *path,
343 struct btrfs_path *path, in overwrite_item() argument
363 ret = btrfs_search_slot(NULL, root, key, path, 0, 0); in overwrite_item()
370 u32 dst_size = btrfs_item_size_nr(path->nodes[0], in overwrite_item()
371 path->slots[0]); in overwrite_item()
376 btrfs_release_path(path); in overwrite_item()
382 btrfs_release_path(path); in overwrite_item()
390 dst_ptr = btrfs_item_ptr_offset(path->nodes[0], path->slots[0]); in overwrite_item()
391 read_extent_buffer(path->nodes[0], dst_copy, dst_ptr, in overwrite_item()
404 btrfs_release_path(path); in overwrite_item()
417 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in overwrite_item()
419 nbytes = btrfs_inode_nbytes(path->nodes[0], item); in overwrite_item()
454 btrfs_release_path(path); in overwrite_item()
456 path->skip_release_on_error = 1; in overwrite_item()
457 ret = btrfs_insert_empty_item(trans, root, path, in overwrite_item()
459 path->skip_release_on_error = 0; in overwrite_item()
464 found_size = btrfs_item_size_nr(path->nodes[0], in overwrite_item()
465 path->slots[0]); in overwrite_item()
467 btrfs_truncate_item(root, path, item_size, 1); in overwrite_item()
469 btrfs_extend_item(root, path, in overwrite_item()
474 dst_ptr = btrfs_item_ptr_offset(path->nodes[0], in overwrite_item()
475 path->slots[0]); in overwrite_item()
494 struct extent_buffer *dst_eb = path->nodes[0]; in overwrite_item()
518 S_ISDIR(btrfs_inode_mode(path->nodes[0], dst_item))) { in overwrite_item()
520 saved_i_size = btrfs_inode_size(path->nodes[0], in overwrite_item()
525 copy_extent_buffer(path->nodes[0], eb, dst_ptr, in overwrite_item()
531 btrfs_set_inode_size(path->nodes[0], dst_item, saved_i_size); in overwrite_item()
538 if (btrfs_inode_generation(path->nodes[0], dst_item) == 0) { in overwrite_item()
539 btrfs_set_inode_generation(path->nodes[0], dst_item, in overwrite_item()
544 btrfs_mark_buffer_dirty(path->nodes[0]); in overwrite_item()
545 btrfs_release_path(path); in overwrite_item()
586 struct btrfs_path *path, in replay_one_extent() argument
633 ret = btrfs_lookup_file_extent(trans, root, path, btrfs_ino(inode), in replay_one_extent()
644 leaf = path->nodes[0]; in replay_one_extent()
645 existing = btrfs_item_ptr(leaf, path->slots[0], in replay_one_extent()
658 btrfs_release_path(path); in replay_one_extent()
662 btrfs_release_path(path); in replay_one_extent()
675 ret = btrfs_insert_empty_item(trans, root, path, key, in replay_one_extent()
679 dest_offset = btrfs_item_ptr_offset(path->nodes[0], in replay_one_extent()
680 path->slots[0]); in replay_one_extent()
681 copy_extent_buffer(path->nodes[0], eb, dest_offset, in replay_one_extent()
717 btrfs_release_path(path); in replay_one_extent()
749 btrfs_release_path(path); in replay_one_extent()
753 ret = overwrite_item(trans, root, path, eb, slot, key); in replay_one_extent()
776 struct btrfs_path *path, in drop_one_dir_item() argument
787 leaf = path->nodes[0]; in drop_one_dir_item()
796 btrfs_release_path(path); in drop_one_dir_item()
804 ret = link_to_fixup_dir(trans, root, path, location.objectid); in drop_one_dir_item()
825 struct btrfs_path *path, in inode_in_dir() argument
833 di = btrfs_lookup_dir_index_item(NULL, root, path, dirid, in inode_in_dir()
836 btrfs_dir_item_key_to_cpu(path->nodes[0], di, &location); in inode_in_dir()
841 btrfs_release_path(path); in inode_in_dir()
843 di = btrfs_lookup_dir_item(NULL, root, path, dirid, name, name_len, 0); in inode_in_dir()
845 btrfs_dir_item_key_to_cpu(path->nodes[0], di, &location); in inode_in_dir()
852 btrfs_release_path(path); in inode_in_dir()
871 struct btrfs_path *path; in backref_in_log() local
881 path = btrfs_alloc_path(); in backref_in_log()
882 if (!path) in backref_in_log()
885 ret = btrfs_search_slot(NULL, log, key, path, 0, 0); in backref_in_log()
889 ptr = btrfs_item_ptr_offset(path->nodes[0], path->slots[0]); in backref_in_log()
892 if (btrfs_find_name_in_ext_backref(path, ref_objectid, in backref_in_log()
899 item_size = btrfs_item_size_nr(path->nodes[0], path->slots[0]); in backref_in_log()
903 found_name_len = btrfs_inode_ref_name_len(path->nodes[0], ref); in backref_in_log()
906 ret = memcmp_extent_buffer(path->nodes[0], name, in backref_in_log()
916 btrfs_free_path(path); in backref_in_log()
922 struct btrfs_path *path, in __add_inode_ref() argument
943 ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0); in __add_inode_ref()
949 leaf = path->nodes[0]; in __add_inode_ref()
961 ptr = btrfs_item_ptr_offset(leaf, path->slots[0]); in __add_inode_ref()
962 ptr_end = ptr + btrfs_item_size_nr(leaf, path->slots[0]); in __add_inode_ref()
980 btrfs_release_path(path); in __add_inode_ref()
1005 btrfs_release_path(path); in __add_inode_ref()
1008 extref = btrfs_lookup_inode_extref(NULL, root, path, name, namelen, in __add_inode_ref()
1017 leaf = path->nodes[0]; in __add_inode_ref()
1019 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in __add_inode_ref()
1020 base = btrfs_item_ptr_offset(leaf, path->slots[0]); in __add_inode_ref()
1050 btrfs_release_path(path); in __add_inode_ref()
1076 btrfs_release_path(path); in __add_inode_ref()
1079 di = btrfs_lookup_dir_index_item(trans, root, path, btrfs_ino(dir), in __add_inode_ref()
1082 ret = drop_one_dir_item(trans, root, path, dir, di); in __add_inode_ref()
1086 btrfs_release_path(path); in __add_inode_ref()
1089 di = btrfs_lookup_dir_item(trans, root, path, btrfs_ino(dir), in __add_inode_ref()
1092 ret = drop_one_dir_item(trans, root, path, dir, di); in __add_inode_ref()
1096 btrfs_release_path(path); in __add_inode_ref()
1152 struct btrfs_path *path, in add_inode_ref() argument
1226 if (!inode_in_dir(root, path, btrfs_ino(dir), btrfs_ino(inode), in add_inode_ref()
1237 ret = __add_inode_ref(trans, root, path, log, in add_inode_ref()
1269 ret = overwrite_item(trans, root, path, eb, slot, key); in add_inode_ref()
1271 btrfs_release_path(path); in add_inode_ref()
1291 struct inode *inode, struct btrfs_path *path) in count_inode_extrefs() argument
1305 ret = btrfs_find_one_extref(root, inode_objectid, offset, path, in count_inode_extrefs()
1310 leaf = path->nodes[0]; in count_inode_extrefs()
1311 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in count_inode_extrefs()
1312 ptr = btrfs_item_ptr_offset(leaf, path->slots[0]); in count_inode_extrefs()
1325 btrfs_release_path(path); in count_inode_extrefs()
1327 btrfs_release_path(path); in count_inode_extrefs()
1335 struct inode *inode, struct btrfs_path *path) in count_inode_refs() argument
1350 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in count_inode_refs()
1354 if (path->slots[0] == 0) in count_inode_refs()
1356 path->slots[0]--; in count_inode_refs()
1359 btrfs_item_key_to_cpu(path->nodes[0], &key, in count_inode_refs()
1360 path->slots[0]); in count_inode_refs()
1364 ptr = btrfs_item_ptr_offset(path->nodes[0], path->slots[0]); in count_inode_refs()
1365 ptr_end = ptr + btrfs_item_size_nr(path->nodes[0], in count_inode_refs()
1366 path->slots[0]); in count_inode_refs()
1371 name_len = btrfs_inode_ref_name_len(path->nodes[0], in count_inode_refs()
1379 if (path->slots[0] > 0) { in count_inode_refs()
1380 path->slots[0]--; in count_inode_refs()
1384 btrfs_release_path(path); in count_inode_refs()
1386 btrfs_release_path(path); in count_inode_refs()
1405 struct btrfs_path *path; in fixup_inode_link_count() local
1410 path = btrfs_alloc_path(); in fixup_inode_link_count()
1411 if (!path) in fixup_inode_link_count()
1414 ret = count_inode_refs(root, inode, path); in fixup_inode_link_count()
1420 ret = count_inode_extrefs(root, inode, path); in fixup_inode_link_count()
1436 ret = replay_dir_deletes(trans, root, NULL, path, in fixup_inode_link_count()
1445 btrfs_free_path(path); in fixup_inode_link_count()
1451 struct btrfs_path *path) in fixup_inode_link_counts() argument
1461 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in fixup_inode_link_counts()
1466 if (path->slots[0] == 0) in fixup_inode_link_counts()
1468 path->slots[0]--; in fixup_inode_link_counts()
1471 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in fixup_inode_link_counts()
1476 ret = btrfs_del_item(trans, root, path); in fixup_inode_link_counts()
1480 btrfs_release_path(path); in fixup_inode_link_counts()
1499 btrfs_release_path(path); in fixup_inode_link_counts()
1511 struct btrfs_path *path, in link_to_fixup_dir() argument
1526 ret = btrfs_insert_empty_item(trans, root, path, &key, 0); in link_to_fixup_dir()
1528 btrfs_release_path(path); in link_to_fixup_dir()
1552 struct btrfs_path *path, in insert_one_name() argument
1619 struct btrfs_path *path, in replay_one_name() argument
1651 exists = btrfs_lookup_inode(trans, root, path, &log_key, 0); in replay_one_name()
1656 btrfs_release_path(path); in replay_one_name()
1659 dst_di = btrfs_lookup_dir_item(trans, root, path, key->objectid, in replay_one_name()
1662 dst_di = btrfs_lookup_dir_index_item(trans, root, path, in replay_one_name()
1680 btrfs_dir_item_key_to_cpu(path->nodes[0], dst_di, &found_key); in replay_one_name()
1685 btrfs_dir_type(path->nodes[0], dst_di) == log_type) { in replay_one_name()
1697 ret = drop_one_dir_item(trans, root, path, dir, dst_di); in replay_one_name()
1704 btrfs_release_path(path); in replay_one_name()
1721 btrfs_release_path(path); in replay_one_name()
1722 ret = insert_one_name(trans, root, path, key->objectid, key->offset, in replay_one_name()
1739 struct btrfs_path *path, in replay_one_dir_item() argument
1757 ret = replay_one_name(trans, root, path, eb, di, key); in replay_one_dir_item()
1778 struct btrfs_path *path, in find_dir_range() argument
1795 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in find_dir_range()
1799 if (path->slots[0] == 0) in find_dir_range()
1801 path->slots[0]--; in find_dir_range()
1804 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in find_dir_range()
1810 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in find_dir_range()
1812 found_end = btrfs_dir_log_end(path->nodes[0], item); in find_dir_range()
1823 nritems = btrfs_header_nritems(path->nodes[0]); in find_dir_range()
1824 if (path->slots[0] >= nritems) { in find_dir_range()
1825 ret = btrfs_next_leaf(root, path); in find_dir_range()
1829 path->slots[0]++; in find_dir_range()
1832 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in find_dir_range()
1838 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in find_dir_range()
1840 found_end = btrfs_dir_log_end(path->nodes[0], item); in find_dir_range()
1845 btrfs_release_path(path); in find_dir_range()
1857 struct btrfs_path *path, in check_item_in_log() argument
1876 eb = path->nodes[0]; in check_item_in_log()
1877 slot = path->slots[0]; in check_item_in_log()
1910 btrfs_release_path(path); in check_item_in_log()
1919 path, location.objectid); in check_item_in_log()
1939 ret = btrfs_search_slot(NULL, root, dir_key, path, in check_item_in_log()
1957 btrfs_release_path(path); in check_item_in_log()
1965 struct btrfs_path *path, in replay_xattr_deletes() argument
1982 ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0); in replay_xattr_deletes()
1986 nritems = btrfs_header_nritems(path->nodes[0]); in replay_xattr_deletes()
1987 for (i = path->slots[0]; i < nritems; i++) { in replay_xattr_deletes()
1994 btrfs_item_key_to_cpu(path->nodes[0], &key, i); in replay_xattr_deletes()
2000 di = btrfs_item_ptr(path->nodes[0], i, struct btrfs_dir_item); in replay_xattr_deletes()
2001 total_size = btrfs_item_size_nr(path->nodes[0], i); in replay_xattr_deletes()
2004 u16 name_len = btrfs_dir_name_len(path->nodes[0], di); in replay_xattr_deletes()
2005 u16 data_len = btrfs_dir_data_len(path->nodes[0], di); in replay_xattr_deletes()
2014 read_extent_buffer(path->nodes[0], name, in replay_xattr_deletes()
2022 btrfs_release_path(path); in replay_xattr_deletes()
2023 di = btrfs_lookup_xattr(trans, root, path, ino, in replay_xattr_deletes()
2032 path, di); in replay_xattr_deletes()
2035 btrfs_release_path(path); in replay_xattr_deletes()
2048 ret = btrfs_next_leaf(root, path); in replay_xattr_deletes()
2055 btrfs_release_path(path); in replay_xattr_deletes()
2073 struct btrfs_path *path, in replay_dir_deletes() argument
2107 ret = find_dir_range(log, path, dirid, key_type, in replay_dir_deletes()
2116 ret = btrfs_search_slot(NULL, root, &dir_key, path, in replay_dir_deletes()
2121 nritems = btrfs_header_nritems(path->nodes[0]); in replay_dir_deletes()
2122 if (path->slots[0] >= nritems) { in replay_dir_deletes()
2123 ret = btrfs_next_leaf(root, path); in replay_dir_deletes()
2127 btrfs_item_key_to_cpu(path->nodes[0], &found_key, in replay_dir_deletes()
2128 path->slots[0]); in replay_dir_deletes()
2136 ret = check_item_in_log(trans, root, log, path, in replay_dir_deletes()
2145 btrfs_release_path(path); in replay_dir_deletes()
2156 btrfs_release_path(path); in replay_dir_deletes()
2160 btrfs_release_path(path); in replay_dir_deletes()
2181 struct btrfs_path *path; in replay_one_buffer() local
2197 path = btrfs_alloc_path(); in replay_one_buffer()
2198 if (!path) in replay_one_buffer()
2214 path, key.objectid); in replay_one_buffer()
2220 root, log, path, key.objectid, 0); in replay_one_buffer()
2224 ret = overwrite_item(wc->trans, root, path, in replay_one_buffer()
2241 path, key.objectid); in replay_one_buffer()
2248 ret = replay_one_dir_item(wc->trans, root, path, in replay_one_buffer()
2259 ret = overwrite_item(wc->trans, root, path, in replay_one_buffer()
2265 ret = add_inode_ref(wc->trans, root, log, path, in replay_one_buffer()
2271 ret = replay_one_extent(wc->trans, root, path, in replay_one_buffer()
2276 ret = replay_one_dir_item(wc->trans, root, path, in replay_one_buffer()
2282 btrfs_free_path(path); in replay_one_buffer()
2288 struct btrfs_path *path, int *level, in walk_down_log_tree() argument
2306 cur = path->nodes[*level]; in walk_down_log_tree()
2310 if (path->slots[*level] >= in walk_down_log_tree()
2314 bytenr = btrfs_node_blockptr(cur, path->slots[*level]); in walk_down_log_tree()
2315 ptr_gen = btrfs_node_ptr_generation(cur, path->slots[*level]); in walk_down_log_tree()
2318 parent = path->nodes[*level]; in walk_down_log_tree()
2332 path->slots[*level]++; in walk_down_log_tree()
2368 if (path->nodes[*level-1]) in walk_down_log_tree()
2369 free_extent_buffer(path->nodes[*level-1]); in walk_down_log_tree()
2370 path->nodes[*level-1] = next; in walk_down_log_tree()
2372 path->slots[*level] = 0; in walk_down_log_tree()
2378 path->slots[*level] = btrfs_header_nritems(path->nodes[*level]); in walk_down_log_tree()
2386 struct btrfs_path *path, int *level, in walk_up_log_tree() argument
2394 for (i = *level; i < BTRFS_MAX_LEVEL - 1 && path->nodes[i]; i++) { in walk_up_log_tree()
2395 slot = path->slots[i]; in walk_up_log_tree()
2396 if (slot + 1 < btrfs_header_nritems(path->nodes[i])) { in walk_up_log_tree()
2397 path->slots[i]++; in walk_up_log_tree()
2403 if (path->nodes[*level] == root->node) in walk_up_log_tree()
2404 parent = path->nodes[*level]; in walk_up_log_tree()
2406 parent = path->nodes[*level + 1]; in walk_up_log_tree()
2409 ret = wc->process_func(root, path->nodes[*level], wc, in walk_up_log_tree()
2410 btrfs_header_generation(path->nodes[*level])); in walk_up_log_tree()
2417 next = path->nodes[*level]; in walk_up_log_tree()
2430 path->nodes[*level]->start, in walk_up_log_tree()
2431 path->nodes[*level]->len); in walk_up_log_tree()
2435 free_extent_buffer(path->nodes[*level]); in walk_up_log_tree()
2436 path->nodes[*level] = NULL; in walk_up_log_tree()
2454 struct btrfs_path *path; in walk_log_tree() local
2457 path = btrfs_alloc_path(); in walk_log_tree()
2458 if (!path) in walk_log_tree()
2463 path->nodes[level] = log->node; in walk_log_tree()
2465 path->slots[level] = 0; in walk_log_tree()
2468 wret = walk_down_log_tree(trans, log, path, &level, wc); in walk_log_tree()
2476 wret = walk_up_log_tree(trans, log, path, &level, wc); in walk_log_tree()
2486 if (path->nodes[orig_level]) { in walk_log_tree()
2487 ret = wc->process_func(log, path->nodes[orig_level], wc, in walk_log_tree()
2488 btrfs_header_generation(path->nodes[orig_level])); in walk_log_tree()
2494 next = path->nodes[orig_level]; in walk_log_tree()
2514 btrfs_free_path(path); in walk_log_tree()
2961 struct btrfs_path *path; in btrfs_del_dir_entries_in_log() local
2977 path = btrfs_alloc_path(); in btrfs_del_dir_entries_in_log()
2978 if (!path) { in btrfs_del_dir_entries_in_log()
2983 di = btrfs_lookup_dir_item(trans, log, path, dir_ino, in btrfs_del_dir_entries_in_log()
2990 ret = btrfs_delete_one_dir_name(trans, log, path, di); in btrfs_del_dir_entries_in_log()
2997 btrfs_release_path(path); in btrfs_del_dir_entries_in_log()
2998 di = btrfs_lookup_dir_index_item(trans, log, path, dir_ino, in btrfs_del_dir_entries_in_log()
3005 ret = btrfs_delete_one_dir_name(trans, log, path, di); in btrfs_del_dir_entries_in_log()
3022 btrfs_release_path(path); in btrfs_del_dir_entries_in_log()
3024 ret = btrfs_search_slot(trans, log, &key, path, 0, 1); in btrfs_del_dir_entries_in_log()
3033 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in btrfs_del_dir_entries_in_log()
3035 i_size = btrfs_inode_size(path->nodes[0], item); in btrfs_del_dir_entries_in_log()
3040 btrfs_set_inode_size(path->nodes[0], item, i_size); in btrfs_del_dir_entries_in_log()
3041 btrfs_mark_buffer_dirty(path->nodes[0]); in btrfs_del_dir_entries_in_log()
3044 btrfs_release_path(path); in btrfs_del_dir_entries_in_log()
3047 btrfs_free_path(path); in btrfs_del_dir_entries_in_log()
3100 struct btrfs_path *path, in insert_dir_log_key() argument
3114 ret = btrfs_insert_empty_item(trans, log, path, &key, sizeof(*item)); in insert_dir_log_key()
3118 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in insert_dir_log_key()
3120 btrfs_set_dir_log_end(path->nodes[0], item, last_offset); in insert_dir_log_key()
3121 btrfs_mark_buffer_dirty(path->nodes[0]); in insert_dir_log_key()
3122 btrfs_release_path(path); in insert_dir_log_key()
3133 struct btrfs_path *path, in log_dir_items() argument
3155 ret = btrfs_search_forward(root, &min_key, path, trans->transid); in log_dir_items()
3165 btrfs_release_path(path); in log_dir_items()
3166 ret = btrfs_search_slot(NULL, root, &min_key, path, 0, 0); in log_dir_items()
3168 btrfs_release_path(path); in log_dir_items()
3171 ret = btrfs_previous_item(root, path, ino, key_type); in log_dir_items()
3180 btrfs_item_key_to_cpu(path->nodes[0], &tmp, in log_dir_items()
3181 path->slots[0]); in log_dir_items()
3189 ret = btrfs_previous_item(root, path, ino, key_type); in log_dir_items()
3192 btrfs_item_key_to_cpu(path->nodes[0], &tmp, path->slots[0]); in log_dir_items()
3196 path->nodes[0], path->slots[0], in log_dir_items()
3204 btrfs_release_path(path); in log_dir_items()
3207 ret = btrfs_search_slot(NULL, root, &min_key, path, 0, 0); in log_dir_items()
3217 src = path->nodes[0]; in log_dir_items()
3219 for (i = path->slots[0]; i < nritems; i++) { in log_dir_items()
3264 path->slots[0] = nritems; in log_dir_items()
3270 ret = btrfs_next_leaf(root, path); in log_dir_items()
3275 btrfs_item_key_to_cpu(path->nodes[0], &tmp, path->slots[0]); in log_dir_items()
3280 if (btrfs_header_generation(path->nodes[0]) != trans->transid) { in log_dir_items()
3282 path->nodes[0], path->slots[0], in log_dir_items()
3292 btrfs_release_path(path); in log_dir_items()
3301 ret = insert_dir_log_key(trans, log, path, key_type, in log_dir_items()
3323 struct btrfs_path *path, in log_directory_changes() argument
3336 ret = log_dir_items(trans, root, inode, path, in log_directory_changes()
3361 struct btrfs_path *path, in drop_objectid_items() argument
3374 ret = btrfs_search_slot(trans, log, &key, path, -1, 1); in drop_objectid_items()
3379 if (path->slots[0] == 0) in drop_objectid_items()
3382 path->slots[0]--; in drop_objectid_items()
3383 btrfs_item_key_to_cpu(path->nodes[0], &found_key, in drop_objectid_items()
3384 path->slots[0]); in drop_objectid_items()
3391 ret = btrfs_bin_search(path->nodes[0], &found_key, 0, in drop_objectid_items()
3394 ret = btrfs_del_items(trans, log, path, start_slot, in drop_objectid_items()
3395 path->slots[0] - start_slot + 1); in drop_objectid_items()
3402 btrfs_release_path(path); in drop_objectid_items()
3404 btrfs_release_path(path); in drop_objectid_items()
3466 struct btrfs_root *log, struct btrfs_path *path, in log_inode_item() argument
3472 ret = btrfs_insert_empty_item(trans, log, path, in log_inode_item()
3477 inode_item = btrfs_item_ptr(path->nodes[0], path->slots[0], in log_inode_item()
3479 fill_inode_item(trans, path->nodes[0], inode_item, inode, 0, 0); in log_inode_item()
3480 btrfs_release_path(path); in log_inode_item()
3932 struct btrfs_path *path, in log_one_extent() argument
3959 ret = __btrfs_drop_extents(trans, log, inode, path, em->start, in log_one_extent()
3970 ret = btrfs_insert_empty_item(trans, log, path, &key, in log_one_extent()
3975 leaf = path->nodes[0]; in log_one_extent()
3976 fi = btrfs_item_ptr(leaf, path->slots[0], in log_one_extent()
4018 btrfs_release_path(path); in log_one_extent()
4026 struct btrfs_path *path, in btrfs_log_changed_extents() argument
4086 ret = log_one_extent(trans, inode, root, em, path, logged_list, in btrfs_log_changed_extents()
4095 btrfs_release_path(path); in btrfs_log_changed_extents()
4100 struct btrfs_path *path, u64 *size_ret) in logged_inode_size() argument
4109 ret = btrfs_search_slot(NULL, log, &key, path, 0, 0); in logged_inode_size()
4117 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in logged_inode_size()
4119 *size_ret = btrfs_inode_size(path->nodes[0], item); in logged_inode_size()
4122 btrfs_release_path(path); in logged_inode_size()
4138 struct btrfs_path *path, in btrfs_log_all_xattrs() argument
4151 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_all_xattrs()
4156 int slot = path->slots[0]; in btrfs_log_all_xattrs()
4157 struct extent_buffer *leaf = path->nodes[0]; in btrfs_log_all_xattrs()
4164 ret = copy_items(trans, inode, dst_path, path, in btrfs_log_all_xattrs()
4173 ret = btrfs_next_leaf(root, path); in btrfs_log_all_xattrs()
4188 path->slots[0]++; in btrfs_log_all_xattrs()
4194 ret = copy_items(trans, inode, dst_path, path, in btrfs_log_all_xattrs()
4233 struct btrfs_path *path) in btrfs_log_trailing_hole() argument
4251 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_trailing_hole()
4256 ASSERT(path->slots[0] > 0); in btrfs_log_trailing_hole()
4257 path->slots[0]--; in btrfs_log_trailing_hole()
4258 leaf = path->nodes[0]; in btrfs_log_trailing_hole()
4259 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_log_trailing_hole()
4276 extent = btrfs_item_ptr(leaf, path->slots[0], in btrfs_log_trailing_hole()
4282 path->slots[0], in btrfs_log_trailing_hole()
4295 btrfs_release_path(path); in btrfs_log_trailing_hole()
4449 struct btrfs_path *path; in btrfs_log_inode() local
4468 path = btrfs_alloc_path(); in btrfs_log_inode()
4469 if (!path) in btrfs_log_inode()
4473 btrfs_free_path(path); in btrfs_log_inode()
4507 btrfs_free_path(path); in btrfs_log_inode()
4525 ret = drop_objectid_items(trans, log, path, ino, max_key_type); in btrfs_log_inode()
4541 err = logged_inode_size(log, inode, path, in btrfs_log_inode()
4550 ret = drop_objectid_items(trans, log, path, ino, in btrfs_log_inode()
4570 ret = drop_objectid_items(trans, log, path, ino, in btrfs_log_inode()
4587 path, trans->transid); in btrfs_log_inode()
4603 ret = btrfs_check_ref_name_override(path->nodes[0], in btrfs_log_inode()
4604 path->slots[0], in btrfs_log_inode()
4620 ret = copy_items(trans, inode, dst_path, path, in btrfs_log_inode()
4629 btrfs_release_path(path); in btrfs_log_inode()
4635 src = path->nodes[0]; in btrfs_log_inode()
4636 if (ins_nr && ins_start_slot + ins_nr == path->slots[0]) { in btrfs_log_inode()
4640 ins_start_slot = path->slots[0]; in btrfs_log_inode()
4645 ret = copy_items(trans, inode, dst_path, path, &last_extent, in btrfs_log_inode()
4654 btrfs_release_path(path); in btrfs_log_inode()
4658 ins_start_slot = path->slots[0]; in btrfs_log_inode()
4661 nritems = btrfs_header_nritems(path->nodes[0]); in btrfs_log_inode()
4662 path->slots[0]++; in btrfs_log_inode()
4663 if (path->slots[0] < nritems) { in btrfs_log_inode()
4664 btrfs_item_key_to_cpu(path->nodes[0], &min_key, in btrfs_log_inode()
4665 path->slots[0]); in btrfs_log_inode()
4669 ret = copy_items(trans, inode, dst_path, path, in btrfs_log_inode()
4679 btrfs_release_path(path); in btrfs_log_inode()
4691 ret = copy_items(trans, inode, dst_path, path, &last_extent, in btrfs_log_inode()
4702 btrfs_release_path(path); in btrfs_log_inode()
4704 err = btrfs_log_all_xattrs(trans, root, inode, path, dst_path); in btrfs_log_inode()
4708 btrfs_release_path(path); in btrfs_log_inode()
4710 err = btrfs_log_trailing_hole(trans, root, inode, path); in btrfs_log_inode()
4715 btrfs_release_path(path); in btrfs_log_inode()
4777 ret = log_directory_changes(trans, root, inode, path, dst_path, in btrfs_log_inode()
4796 btrfs_free_path(path); in btrfs_log_inode()
4928 struct btrfs_path *path; in log_new_dir_dentries() local
4933 path = btrfs_alloc_path(); in log_new_dir_dentries()
4934 if (!path) in log_new_dir_dentries()
4939 btrfs_free_path(path); in log_new_dir_dentries()
4960 btrfs_release_path(path); in log_new_dir_dentries()
4961 ret = btrfs_search_forward(log, &min_key, path, trans->transid); in log_new_dir_dentries()
4970 leaf = path->nodes[0]; in log_new_dir_dentries()
4972 for (i = path->slots[0]; i < nritems; i++) { in log_new_dir_dentries()
5009 btrfs_release_path(path); in log_new_dir_dentries()
5028 ret = btrfs_next_leaf(log, path); in log_new_dir_dentries()
5046 btrfs_free_path(path); in log_new_dir_dentries()
5215 struct btrfs_path *path; in btrfs_recover_log_trees() local
5227 path = btrfs_alloc_path(); in btrfs_recover_log_trees()
5228 if (!path) in btrfs_recover_log_trees()
5255 ret = btrfs_search_slot(NULL, log_root_tree, &key, path, 0, 0); in btrfs_recover_log_trees()
5263 if (path->slots[0] == 0) in btrfs_recover_log_trees()
5265 path->slots[0]--; in btrfs_recover_log_trees()
5267 btrfs_item_key_to_cpu(path->nodes[0], &found_key, in btrfs_recover_log_trees()
5268 path->slots[0]); in btrfs_recover_log_trees()
5269 btrfs_release_path(path); in btrfs_recover_log_trees()
5302 path); in btrfs_recover_log_trees()
5317 btrfs_release_path(path); in btrfs_recover_log_trees()
5332 btrfs_free_path(path); in btrfs_recover_log_trees()
5348 btrfs_free_path(path); in btrfs_recover_log_trees()