Lines Matching refs:path
104 struct btrfs_path *path, u64 objectid);
108 struct btrfs_path *path,
336 struct btrfs_path *path, in overwrite_item() argument
356 ret = btrfs_search_slot(NULL, root, key, path, 0, 0); in overwrite_item()
363 u32 dst_size = btrfs_item_size_nr(path->nodes[0], in overwrite_item()
364 path->slots[0]); in overwrite_item()
369 btrfs_release_path(path); in overwrite_item()
375 btrfs_release_path(path); in overwrite_item()
383 dst_ptr = btrfs_item_ptr_offset(path->nodes[0], path->slots[0]); in overwrite_item()
384 read_extent_buffer(path->nodes[0], dst_copy, dst_ptr, in overwrite_item()
397 btrfs_release_path(path); in overwrite_item()
410 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in overwrite_item()
412 nbytes = btrfs_inode_nbytes(path->nodes[0], item); in overwrite_item()
447 btrfs_release_path(path); in overwrite_item()
449 path->skip_release_on_error = 1; in overwrite_item()
450 ret = btrfs_insert_empty_item(trans, root, path, in overwrite_item()
452 path->skip_release_on_error = 0; in overwrite_item()
457 found_size = btrfs_item_size_nr(path->nodes[0], in overwrite_item()
458 path->slots[0]); in overwrite_item()
460 btrfs_truncate_item(root, path, item_size, 1); in overwrite_item()
462 btrfs_extend_item(root, path, in overwrite_item()
467 dst_ptr = btrfs_item_ptr_offset(path->nodes[0], in overwrite_item()
468 path->slots[0]); in overwrite_item()
487 struct extent_buffer *dst_eb = path->nodes[0]; in overwrite_item()
511 S_ISDIR(btrfs_inode_mode(path->nodes[0], dst_item))) { in overwrite_item()
513 saved_i_size = btrfs_inode_size(path->nodes[0], in overwrite_item()
518 copy_extent_buffer(path->nodes[0], eb, dst_ptr, in overwrite_item()
524 btrfs_set_inode_size(path->nodes[0], dst_item, saved_i_size); in overwrite_item()
531 if (btrfs_inode_generation(path->nodes[0], dst_item) == 0) { in overwrite_item()
532 btrfs_set_inode_generation(path->nodes[0], dst_item, in overwrite_item()
537 btrfs_mark_buffer_dirty(path->nodes[0]); in overwrite_item()
538 btrfs_release_path(path); in overwrite_item()
579 struct btrfs_path *path, in replay_one_extent() argument
626 ret = btrfs_lookup_file_extent(trans, root, path, btrfs_ino(inode), in replay_one_extent()
637 leaf = path->nodes[0]; in replay_one_extent()
638 existing = btrfs_item_ptr(leaf, path->slots[0], in replay_one_extent()
651 btrfs_release_path(path); in replay_one_extent()
655 btrfs_release_path(path); in replay_one_extent()
668 ret = btrfs_insert_empty_item(trans, root, path, key, in replay_one_extent()
672 dest_offset = btrfs_item_ptr_offset(path->nodes[0], in replay_one_extent()
673 path->slots[0]); in replay_one_extent()
674 copy_extent_buffer(path->nodes[0], eb, dest_offset, in replay_one_extent()
710 btrfs_release_path(path); in replay_one_extent()
796 btrfs_release_path(path); in replay_one_extent()
800 ret = overwrite_item(trans, root, path, eb, slot, key); in replay_one_extent()
823 struct btrfs_path *path, in drop_one_dir_item() argument
834 leaf = path->nodes[0]; in drop_one_dir_item()
843 btrfs_release_path(path); in drop_one_dir_item()
851 ret = link_to_fixup_dir(trans, root, path, location.objectid); in drop_one_dir_item()
872 struct btrfs_path *path, in inode_in_dir() argument
880 di = btrfs_lookup_dir_index_item(NULL, root, path, dirid, in inode_in_dir()
883 btrfs_dir_item_key_to_cpu(path->nodes[0], di, &location); in inode_in_dir()
888 btrfs_release_path(path); in inode_in_dir()
890 di = btrfs_lookup_dir_item(NULL, root, path, dirid, name, name_len, 0); in inode_in_dir()
892 btrfs_dir_item_key_to_cpu(path->nodes[0], di, &location); in inode_in_dir()
899 btrfs_release_path(path); in inode_in_dir()
918 struct btrfs_path *path; in backref_in_log() local
928 path = btrfs_alloc_path(); in backref_in_log()
929 if (!path) in backref_in_log()
932 ret = btrfs_search_slot(NULL, log, key, path, 0, 0); in backref_in_log()
936 ptr = btrfs_item_ptr_offset(path->nodes[0], path->slots[0]); in backref_in_log()
939 if (btrfs_find_name_in_ext_backref(path, ref_objectid, in backref_in_log()
946 item_size = btrfs_item_size_nr(path->nodes[0], path->slots[0]); in backref_in_log()
950 found_name_len = btrfs_inode_ref_name_len(path->nodes[0], ref); in backref_in_log()
953 ret = memcmp_extent_buffer(path->nodes[0], name, in backref_in_log()
963 btrfs_free_path(path); in backref_in_log()
969 struct btrfs_path *path, in __add_inode_ref() argument
990 ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0); in __add_inode_ref()
996 leaf = path->nodes[0]; in __add_inode_ref()
1008 ptr = btrfs_item_ptr_offset(leaf, path->slots[0]); in __add_inode_ref()
1009 ptr_end = ptr + btrfs_item_size_nr(leaf, path->slots[0]); in __add_inode_ref()
1027 btrfs_release_path(path); in __add_inode_ref()
1052 btrfs_release_path(path); in __add_inode_ref()
1055 extref = btrfs_lookup_inode_extref(NULL, root, path, name, namelen, in __add_inode_ref()
1064 leaf = path->nodes[0]; in __add_inode_ref()
1066 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in __add_inode_ref()
1067 base = btrfs_item_ptr_offset(leaf, path->slots[0]); in __add_inode_ref()
1097 btrfs_release_path(path); in __add_inode_ref()
1123 btrfs_release_path(path); in __add_inode_ref()
1126 di = btrfs_lookup_dir_index_item(trans, root, path, btrfs_ino(dir), in __add_inode_ref()
1129 ret = drop_one_dir_item(trans, root, path, dir, di); in __add_inode_ref()
1133 btrfs_release_path(path); in __add_inode_ref()
1136 di = btrfs_lookup_dir_item(trans, root, path, btrfs_ino(dir), in __add_inode_ref()
1139 ret = drop_one_dir_item(trans, root, path, dir, di); in __add_inode_ref()
1143 btrfs_release_path(path); in __add_inode_ref()
1199 struct btrfs_path *path, in add_inode_ref() argument
1273 if (!inode_in_dir(root, path, btrfs_ino(dir), btrfs_ino(inode), in add_inode_ref()
1284 ret = __add_inode_ref(trans, root, path, log, in add_inode_ref()
1316 ret = overwrite_item(trans, root, path, eb, slot, key); in add_inode_ref()
1318 btrfs_release_path(path); in add_inode_ref()
1338 struct inode *inode, struct btrfs_path *path) in count_inode_extrefs() argument
1352 ret = btrfs_find_one_extref(root, inode_objectid, offset, path, in count_inode_extrefs()
1357 leaf = path->nodes[0]; in count_inode_extrefs()
1358 item_size = btrfs_item_size_nr(leaf, path->slots[0]); in count_inode_extrefs()
1359 ptr = btrfs_item_ptr_offset(leaf, path->slots[0]); in count_inode_extrefs()
1372 btrfs_release_path(path); in count_inode_extrefs()
1374 btrfs_release_path(path); in count_inode_extrefs()
1382 struct inode *inode, struct btrfs_path *path) in count_inode_refs() argument
1397 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in count_inode_refs()
1401 if (path->slots[0] == 0) in count_inode_refs()
1403 path->slots[0]--; in count_inode_refs()
1406 btrfs_item_key_to_cpu(path->nodes[0], &key, in count_inode_refs()
1407 path->slots[0]); in count_inode_refs()
1411 ptr = btrfs_item_ptr_offset(path->nodes[0], path->slots[0]); in count_inode_refs()
1412 ptr_end = ptr + btrfs_item_size_nr(path->nodes[0], in count_inode_refs()
1413 path->slots[0]); in count_inode_refs()
1418 name_len = btrfs_inode_ref_name_len(path->nodes[0], in count_inode_refs()
1426 if (path->slots[0] > 0) { in count_inode_refs()
1427 path->slots[0]--; in count_inode_refs()
1431 btrfs_release_path(path); in count_inode_refs()
1433 btrfs_release_path(path); in count_inode_refs()
1452 struct btrfs_path *path; in fixup_inode_link_count() local
1457 path = btrfs_alloc_path(); in fixup_inode_link_count()
1458 if (!path) in fixup_inode_link_count()
1461 ret = count_inode_refs(root, inode, path); in fixup_inode_link_count()
1467 ret = count_inode_extrefs(root, inode, path); in fixup_inode_link_count()
1483 ret = replay_dir_deletes(trans, root, NULL, path, in fixup_inode_link_count()
1492 btrfs_free_path(path); in fixup_inode_link_count()
1498 struct btrfs_path *path) in fixup_inode_link_counts() argument
1508 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in fixup_inode_link_counts()
1513 if (path->slots[0] == 0) in fixup_inode_link_counts()
1515 path->slots[0]--; in fixup_inode_link_counts()
1518 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in fixup_inode_link_counts()
1523 ret = btrfs_del_item(trans, root, path); in fixup_inode_link_counts()
1527 btrfs_release_path(path); in fixup_inode_link_counts()
1546 btrfs_release_path(path); in fixup_inode_link_counts()
1558 struct btrfs_path *path, in link_to_fixup_dir() argument
1573 ret = btrfs_insert_empty_item(trans, root, path, &key, 0); in link_to_fixup_dir()
1575 btrfs_release_path(path); in link_to_fixup_dir()
1668 struct btrfs_path *path, in replay_one_name() argument
1701 exists = btrfs_lookup_inode(trans, root, path, &log_key, 0); in replay_one_name()
1706 btrfs_release_path(path); in replay_one_name()
1709 dst_di = btrfs_lookup_dir_item(trans, root, path, key->objectid, in replay_one_name()
1712 dst_di = btrfs_lookup_dir_index_item(trans, root, path, in replay_one_name()
1730 btrfs_dir_item_key_to_cpu(path->nodes[0], dst_di, &found_key); in replay_one_name()
1735 btrfs_dir_type(path->nodes[0], dst_di) == log_type) { in replay_one_name()
1747 ret = drop_one_dir_item(trans, root, path, dir, dst_di); in replay_one_name()
1754 btrfs_release_path(path); in replay_one_name()
1773 btrfs_release_path(path); in replay_one_name()
1793 struct btrfs_path *path, in replay_one_dir_item() argument
1812 ret = replay_one_name(trans, root, path, eb, di, key); in replay_one_dir_item()
1880 struct btrfs_path *path, in find_dir_range() argument
1897 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in find_dir_range()
1901 if (path->slots[0] == 0) in find_dir_range()
1903 path->slots[0]--; in find_dir_range()
1906 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in find_dir_range()
1912 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in find_dir_range()
1914 found_end = btrfs_dir_log_end(path->nodes[0], item); in find_dir_range()
1925 nritems = btrfs_header_nritems(path->nodes[0]); in find_dir_range()
1926 if (path->slots[0] >= nritems) { in find_dir_range()
1927 ret = btrfs_next_leaf(root, path); in find_dir_range()
1931 path->slots[0]++; in find_dir_range()
1934 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in find_dir_range()
1940 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in find_dir_range()
1942 found_end = btrfs_dir_log_end(path->nodes[0], item); in find_dir_range()
1947 btrfs_release_path(path); in find_dir_range()
1959 struct btrfs_path *path, in check_item_in_log() argument
1978 eb = path->nodes[0]; in check_item_in_log()
1979 slot = path->slots[0]; in check_item_in_log()
2012 btrfs_release_path(path); in check_item_in_log()
2021 path, location.objectid); in check_item_in_log()
2041 ret = btrfs_search_slot(NULL, root, dir_key, path, in check_item_in_log()
2059 btrfs_release_path(path); in check_item_in_log()
2067 struct btrfs_path *path, in replay_xattr_deletes() argument
2084 ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0); in replay_xattr_deletes()
2088 nritems = btrfs_header_nritems(path->nodes[0]); in replay_xattr_deletes()
2089 for (i = path->slots[0]; i < nritems; i++) { in replay_xattr_deletes()
2096 btrfs_item_key_to_cpu(path->nodes[0], &key, i); in replay_xattr_deletes()
2102 di = btrfs_item_ptr(path->nodes[0], i, struct btrfs_dir_item); in replay_xattr_deletes()
2103 total_size = btrfs_item_size_nr(path->nodes[0], i); in replay_xattr_deletes()
2106 u16 name_len = btrfs_dir_name_len(path->nodes[0], di); in replay_xattr_deletes()
2107 u16 data_len = btrfs_dir_data_len(path->nodes[0], di); in replay_xattr_deletes()
2116 read_extent_buffer(path->nodes[0], name, in replay_xattr_deletes()
2124 btrfs_release_path(path); in replay_xattr_deletes()
2125 di = btrfs_lookup_xattr(trans, root, path, ino, in replay_xattr_deletes()
2134 path, di); in replay_xattr_deletes()
2137 btrfs_release_path(path); in replay_xattr_deletes()
2150 ret = btrfs_next_leaf(root, path); in replay_xattr_deletes()
2157 btrfs_release_path(path); in replay_xattr_deletes()
2175 struct btrfs_path *path, in replay_dir_deletes() argument
2209 ret = find_dir_range(log, path, dirid, key_type, in replay_dir_deletes()
2218 ret = btrfs_search_slot(NULL, root, &dir_key, path, in replay_dir_deletes()
2223 nritems = btrfs_header_nritems(path->nodes[0]); in replay_dir_deletes()
2224 if (path->slots[0] >= nritems) { in replay_dir_deletes()
2225 ret = btrfs_next_leaf(root, path); in replay_dir_deletes()
2229 btrfs_item_key_to_cpu(path->nodes[0], &found_key, in replay_dir_deletes()
2230 path->slots[0]); in replay_dir_deletes()
2238 ret = check_item_in_log(trans, root, log, path, in replay_dir_deletes()
2247 btrfs_release_path(path); in replay_dir_deletes()
2258 btrfs_release_path(path); in replay_dir_deletes()
2262 btrfs_release_path(path); in replay_dir_deletes()
2283 struct btrfs_path *path; in replay_one_buffer() local
2299 path = btrfs_alloc_path(); in replay_one_buffer()
2300 if (!path) in replay_one_buffer()
2316 path, key.objectid); in replay_one_buffer()
2322 root, log, path, key.objectid, 0); in replay_one_buffer()
2326 ret = overwrite_item(wc->trans, root, path, in replay_one_buffer()
2343 path, key.objectid); in replay_one_buffer()
2350 ret = replay_one_dir_item(wc->trans, root, path, in replay_one_buffer()
2361 ret = overwrite_item(wc->trans, root, path, in replay_one_buffer()
2367 ret = add_inode_ref(wc->trans, root, log, path, in replay_one_buffer()
2373 ret = replay_one_extent(wc->trans, root, path, in replay_one_buffer()
2378 ret = replay_one_dir_item(wc->trans, root, path, in replay_one_buffer()
2384 btrfs_free_path(path); in replay_one_buffer()
2390 struct btrfs_path *path, int *level, in walk_down_log_tree() argument
2408 cur = path->nodes[*level]; in walk_down_log_tree()
2412 if (path->slots[*level] >= in walk_down_log_tree()
2416 bytenr = btrfs_node_blockptr(cur, path->slots[*level]); in walk_down_log_tree()
2417 ptr_gen = btrfs_node_ptr_generation(cur, path->slots[*level]); in walk_down_log_tree()
2420 parent = path->nodes[*level]; in walk_down_log_tree()
2434 path->slots[*level]++; in walk_down_log_tree()
2470 if (path->nodes[*level-1]) in walk_down_log_tree()
2471 free_extent_buffer(path->nodes[*level-1]); in walk_down_log_tree()
2472 path->nodes[*level-1] = next; in walk_down_log_tree()
2474 path->slots[*level] = 0; in walk_down_log_tree()
2480 path->slots[*level] = btrfs_header_nritems(path->nodes[*level]); in walk_down_log_tree()
2488 struct btrfs_path *path, int *level, in walk_up_log_tree() argument
2496 for (i = *level; i < BTRFS_MAX_LEVEL - 1 && path->nodes[i]; i++) { in walk_up_log_tree()
2497 slot = path->slots[i]; in walk_up_log_tree()
2498 if (slot + 1 < btrfs_header_nritems(path->nodes[i])) { in walk_up_log_tree()
2499 path->slots[i]++; in walk_up_log_tree()
2505 if (path->nodes[*level] == root->node) in walk_up_log_tree()
2506 parent = path->nodes[*level]; in walk_up_log_tree()
2508 parent = path->nodes[*level + 1]; in walk_up_log_tree()
2511 ret = wc->process_func(root, path->nodes[*level], wc, in walk_up_log_tree()
2512 btrfs_header_generation(path->nodes[*level])); in walk_up_log_tree()
2519 next = path->nodes[*level]; in walk_up_log_tree()
2532 path->nodes[*level]->start, in walk_up_log_tree()
2533 path->nodes[*level]->len); in walk_up_log_tree()
2537 free_extent_buffer(path->nodes[*level]); in walk_up_log_tree()
2538 path->nodes[*level] = NULL; in walk_up_log_tree()
2556 struct btrfs_path *path; in walk_log_tree() local
2559 path = btrfs_alloc_path(); in walk_log_tree()
2560 if (!path) in walk_log_tree()
2565 path->nodes[level] = log->node; in walk_log_tree()
2567 path->slots[level] = 0; in walk_log_tree()
2570 wret = walk_down_log_tree(trans, log, path, &level, wc); in walk_log_tree()
2578 wret = walk_up_log_tree(trans, log, path, &level, wc); in walk_log_tree()
2588 if (path->nodes[orig_level]) { in walk_log_tree()
2589 ret = wc->process_func(log, path->nodes[orig_level], wc, in walk_log_tree()
2590 btrfs_header_generation(path->nodes[orig_level])); in walk_log_tree()
2596 next = path->nodes[orig_level]; in walk_log_tree()
2616 btrfs_free_path(path); in walk_log_tree()
3069 struct btrfs_path *path; in btrfs_del_dir_entries_in_log() local
3085 path = btrfs_alloc_path(); in btrfs_del_dir_entries_in_log()
3086 if (!path) { in btrfs_del_dir_entries_in_log()
3091 di = btrfs_lookup_dir_item(trans, log, path, dir_ino, in btrfs_del_dir_entries_in_log()
3098 ret = btrfs_delete_one_dir_name(trans, log, path, di); in btrfs_del_dir_entries_in_log()
3105 btrfs_release_path(path); in btrfs_del_dir_entries_in_log()
3106 di = btrfs_lookup_dir_index_item(trans, log, path, dir_ino, in btrfs_del_dir_entries_in_log()
3113 ret = btrfs_delete_one_dir_name(trans, log, path, di); in btrfs_del_dir_entries_in_log()
3130 btrfs_release_path(path); in btrfs_del_dir_entries_in_log()
3132 ret = btrfs_search_slot(trans, log, &key, path, 0, 1); in btrfs_del_dir_entries_in_log()
3141 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in btrfs_del_dir_entries_in_log()
3143 i_size = btrfs_inode_size(path->nodes[0], item); in btrfs_del_dir_entries_in_log()
3148 btrfs_set_inode_size(path->nodes[0], item, i_size); in btrfs_del_dir_entries_in_log()
3149 btrfs_mark_buffer_dirty(path->nodes[0]); in btrfs_del_dir_entries_in_log()
3152 btrfs_release_path(path); in btrfs_del_dir_entries_in_log()
3155 btrfs_free_path(path); in btrfs_del_dir_entries_in_log()
3208 struct btrfs_path *path, in insert_dir_log_key() argument
3222 ret = btrfs_insert_empty_item(trans, log, path, &key, sizeof(*item)); in insert_dir_log_key()
3226 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in insert_dir_log_key()
3228 btrfs_set_dir_log_end(path->nodes[0], item, last_offset); in insert_dir_log_key()
3229 btrfs_mark_buffer_dirty(path->nodes[0]); in insert_dir_log_key()
3230 btrfs_release_path(path); in insert_dir_log_key()
3241 struct btrfs_path *path, in log_dir_items() argument
3263 ret = btrfs_search_forward(root, &min_key, path, trans->transid); in log_dir_items()
3273 btrfs_release_path(path); in log_dir_items()
3274 ret = btrfs_search_slot(NULL, root, &min_key, path, 0, 0); in log_dir_items()
3276 btrfs_release_path(path); in log_dir_items()
3279 ret = btrfs_previous_item(root, path, ino, key_type); in log_dir_items()
3288 btrfs_item_key_to_cpu(path->nodes[0], &tmp, in log_dir_items()
3289 path->slots[0]); in log_dir_items()
3297 ret = btrfs_previous_item(root, path, ino, key_type); in log_dir_items()
3300 btrfs_item_key_to_cpu(path->nodes[0], &tmp, path->slots[0]); in log_dir_items()
3304 path->nodes[0], path->slots[0], in log_dir_items()
3312 btrfs_release_path(path); in log_dir_items()
3315 ret = btrfs_search_slot(NULL, root, &min_key, path, 0, 0); in log_dir_items()
3325 src = path->nodes[0]; in log_dir_items()
3327 for (i = path->slots[0]; i < nritems; i++) { in log_dir_items()
3372 path->slots[0] = nritems; in log_dir_items()
3378 ret = btrfs_next_leaf(root, path); in log_dir_items()
3383 btrfs_item_key_to_cpu(path->nodes[0], &tmp, path->slots[0]); in log_dir_items()
3388 if (btrfs_header_generation(path->nodes[0]) != trans->transid) { in log_dir_items()
3390 path->nodes[0], path->slots[0], in log_dir_items()
3400 btrfs_release_path(path); in log_dir_items()
3409 ret = insert_dir_log_key(trans, log, path, key_type, in log_dir_items()
3431 struct btrfs_path *path, in log_directory_changes() argument
3444 ret = log_dir_items(trans, root, inode, path, in log_directory_changes()
3469 struct btrfs_path *path, in drop_objectid_items() argument
3482 ret = btrfs_search_slot(trans, log, &key, path, -1, 1); in drop_objectid_items()
3487 if (path->slots[0] == 0) in drop_objectid_items()
3490 path->slots[0]--; in drop_objectid_items()
3491 btrfs_item_key_to_cpu(path->nodes[0], &found_key, in drop_objectid_items()
3492 path->slots[0]); in drop_objectid_items()
3499 ret = btrfs_bin_search(path->nodes[0], &found_key, 0, in drop_objectid_items()
3502 ret = btrfs_del_items(trans, log, path, start_slot, in drop_objectid_items()
3503 path->slots[0] - start_slot + 1); in drop_objectid_items()
3510 btrfs_release_path(path); in drop_objectid_items()
3512 btrfs_release_path(path); in drop_objectid_items()
3574 struct btrfs_root *log, struct btrfs_path *path, in log_inode_item() argument
3580 ret = btrfs_insert_empty_item(trans, log, path, in log_inode_item()
3585 inode_item = btrfs_item_ptr(path->nodes[0], path->slots[0], in log_inode_item()
3587 fill_inode_item(trans, path->nodes[0], inode_item, inode, 0, 0); in log_inode_item()
3588 btrfs_release_path(path); in log_inode_item()
4034 struct btrfs_path *path, in log_one_extent() argument
4061 ret = __btrfs_drop_extents(trans, log, inode, path, em->start, in log_one_extent()
4072 ret = btrfs_insert_empty_item(trans, log, path, &key, in log_one_extent()
4077 leaf = path->nodes[0]; in log_one_extent()
4078 fi = btrfs_item_ptr(leaf, path->slots[0], in log_one_extent()
4120 btrfs_release_path(path); in log_one_extent()
4128 struct btrfs_path *path, in btrfs_log_changed_extents() argument
4188 ret = log_one_extent(trans, inode, root, em, path, logged_list, in btrfs_log_changed_extents()
4197 btrfs_release_path(path); in btrfs_log_changed_extents()
4202 struct btrfs_path *path, u64 *size_ret) in logged_inode_size() argument
4211 ret = btrfs_search_slot(NULL, log, &key, path, 0, 0); in logged_inode_size()
4219 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in logged_inode_size()
4221 *size_ret = btrfs_inode_size(path->nodes[0], item); in logged_inode_size()
4224 btrfs_release_path(path); in logged_inode_size()
4240 struct btrfs_path *path, in btrfs_log_all_xattrs() argument
4253 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_all_xattrs()
4258 int slot = path->slots[0]; in btrfs_log_all_xattrs()
4259 struct extent_buffer *leaf = path->nodes[0]; in btrfs_log_all_xattrs()
4266 ret = copy_items(trans, inode, dst_path, path, in btrfs_log_all_xattrs()
4275 ret = btrfs_next_leaf(root, path); in btrfs_log_all_xattrs()
4290 path->slots[0]++; in btrfs_log_all_xattrs()
4296 ret = copy_items(trans, inode, dst_path, path, in btrfs_log_all_xattrs()
4335 struct btrfs_path *path) in btrfs_log_trailing_hole() argument
4353 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_trailing_hole()
4358 ASSERT(path->slots[0] > 0); in btrfs_log_trailing_hole()
4359 path->slots[0]--; in btrfs_log_trailing_hole()
4360 leaf = path->nodes[0]; in btrfs_log_trailing_hole()
4361 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_log_trailing_hole()
4378 extent = btrfs_item_ptr(leaf, path->slots[0], in btrfs_log_trailing_hole()
4384 path->slots[0], in btrfs_log_trailing_hole()
4397 btrfs_release_path(path); in btrfs_log_trailing_hole()
4551 struct btrfs_path *path; in btrfs_log_inode() local
4570 path = btrfs_alloc_path(); in btrfs_log_inode()
4571 if (!path) in btrfs_log_inode()
4575 btrfs_free_path(path); in btrfs_log_inode()
4609 btrfs_free_path(path); in btrfs_log_inode()
4627 ret = drop_objectid_items(trans, log, path, ino, max_key_type); in btrfs_log_inode()
4643 err = logged_inode_size(log, inode, path, in btrfs_log_inode()
4652 ret = drop_objectid_items(trans, log, path, ino, in btrfs_log_inode()
4672 ret = drop_objectid_items(trans, log, path, ino, in btrfs_log_inode()
4689 path, trans->transid); in btrfs_log_inode()
4705 ret = btrfs_check_ref_name_override(path->nodes[0], in btrfs_log_inode()
4706 path->slots[0], in btrfs_log_inode()
4722 ret = copy_items(trans, inode, dst_path, path, in btrfs_log_inode()
4731 btrfs_release_path(path); in btrfs_log_inode()
4737 src = path->nodes[0]; in btrfs_log_inode()
4738 if (ins_nr && ins_start_slot + ins_nr == path->slots[0]) { in btrfs_log_inode()
4742 ins_start_slot = path->slots[0]; in btrfs_log_inode()
4747 ret = copy_items(trans, inode, dst_path, path, &last_extent, in btrfs_log_inode()
4756 btrfs_release_path(path); in btrfs_log_inode()
4760 ins_start_slot = path->slots[0]; in btrfs_log_inode()
4763 nritems = btrfs_header_nritems(path->nodes[0]); in btrfs_log_inode()
4764 path->slots[0]++; in btrfs_log_inode()
4765 if (path->slots[0] < nritems) { in btrfs_log_inode()
4766 btrfs_item_key_to_cpu(path->nodes[0], &min_key, in btrfs_log_inode()
4767 path->slots[0]); in btrfs_log_inode()
4771 ret = copy_items(trans, inode, dst_path, path, in btrfs_log_inode()
4781 btrfs_release_path(path); in btrfs_log_inode()
4793 ret = copy_items(trans, inode, dst_path, path, &last_extent, in btrfs_log_inode()
4804 btrfs_release_path(path); in btrfs_log_inode()
4806 err = btrfs_log_all_xattrs(trans, root, inode, path, dst_path); in btrfs_log_inode()
4810 btrfs_release_path(path); in btrfs_log_inode()
4812 err = btrfs_log_trailing_hole(trans, root, inode, path); in btrfs_log_inode()
4817 btrfs_release_path(path); in btrfs_log_inode()
4879 ret = log_directory_changes(trans, root, inode, path, dst_path, in btrfs_log_inode()
4898 btrfs_free_path(path); in btrfs_log_inode()
5030 struct btrfs_path *path; in log_new_dir_dentries() local
5035 path = btrfs_alloc_path(); in log_new_dir_dentries()
5036 if (!path) in log_new_dir_dentries()
5041 btrfs_free_path(path); in log_new_dir_dentries()
5062 btrfs_release_path(path); in log_new_dir_dentries()
5063 ret = btrfs_search_forward(log, &min_key, path, trans->transid); in log_new_dir_dentries()
5072 leaf = path->nodes[0]; in log_new_dir_dentries()
5074 for (i = path->slots[0]; i < nritems; i++) { in log_new_dir_dentries()
5111 btrfs_release_path(path); in log_new_dir_dentries()
5130 ret = btrfs_next_leaf(log, path); in log_new_dir_dentries()
5148 btrfs_free_path(path); in log_new_dir_dentries()
5157 struct btrfs_path *path; in btrfs_log_all_parents() local
5162 path = btrfs_alloc_path(); in btrfs_log_all_parents()
5163 if (!path) in btrfs_log_all_parents()
5165 path->skip_locking = 1; in btrfs_log_all_parents()
5166 path->search_commit_root = 1; in btrfs_log_all_parents()
5171 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_all_parents()
5176 struct extent_buffer *leaf = path->nodes[0]; in btrfs_log_all_parents()
5177 int slot = path->slots[0]; in btrfs_log_all_parents()
5183 ret = btrfs_next_leaf(root, path); in btrfs_log_all_parents()
5232 path->slots[0]++; in btrfs_log_all_parents()
5236 btrfs_free_path(path); in btrfs_log_all_parents()
5435 struct btrfs_path *path; in btrfs_recover_log_trees() local
5447 path = btrfs_alloc_path(); in btrfs_recover_log_trees()
5448 if (!path) in btrfs_recover_log_trees()
5475 ret = btrfs_search_slot(NULL, log_root_tree, &key, path, 0, 0); in btrfs_recover_log_trees()
5483 if (path->slots[0] == 0) in btrfs_recover_log_trees()
5485 path->slots[0]--; in btrfs_recover_log_trees()
5487 btrfs_item_key_to_cpu(path->nodes[0], &found_key, in btrfs_recover_log_trees()
5488 path->slots[0]); in btrfs_recover_log_trees()
5489 btrfs_release_path(path); in btrfs_recover_log_trees()
5522 path); in btrfs_recover_log_trees()
5537 btrfs_release_path(path); in btrfs_recover_log_trees()
5552 btrfs_free_path(path); in btrfs_recover_log_trees()
5568 btrfs_free_path(path); in btrfs_recover_log_trees()