Lines Matching refs:path

167 	struct btrfs_path *path;  in btrfs_insert_hole_extent()  local
170 path = btrfs_alloc_path(); in btrfs_insert_hole_extent()
171 if (!path) in btrfs_insert_hole_extent()
177 ret = btrfs_insert_empty_item(trans, root, path, &file_key, in btrfs_insert_hole_extent()
182 leaf = path->nodes[0]; in btrfs_insert_hole_extent()
183 item = btrfs_item_ptr(leaf, path->slots[0], in btrfs_insert_hole_extent()
198 btrfs_free_path(path); in btrfs_insert_hole_extent()
205 struct btrfs_path *path, in btrfs_lookup_csum() argument
221 ret = btrfs_search_slot(trans, root, &file_key, path, 0, cow); in btrfs_lookup_csum()
224 leaf = path->nodes[0]; in btrfs_lookup_csum()
227 if (path->slots[0] == 0) in btrfs_lookup_csum()
229 path->slots[0]--; in btrfs_lookup_csum()
230 btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]); in btrfs_lookup_csum()
236 csums_in_item = btrfs_item_size(leaf, path->slots[0]); in btrfs_lookup_csum()
246 item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_csum_item); in btrfs_lookup_csum()
258 struct btrfs_path *path, u64 objectid, in btrfs_lookup_file_extent() argument
269 return btrfs_search_slot(trans, root, &file_key, path, ins_len, cow); in btrfs_lookup_file_extent()
282 struct btrfs_path *path, u64 disk_bytenr, in search_csum_tree() argument
299 if (path->nodes[0]) { in search_csum_tree()
300 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in search_csum_tree()
302 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in search_csum_tree()
303 itemsize = btrfs_item_size(path->nodes[0], path->slots[0]); in search_csum_tree()
313 btrfs_release_path(path); in search_csum_tree()
315 item = btrfs_lookup_csum(NULL, csum_root, path, disk_bytenr, 0); in search_csum_tree()
320 btrfs_item_key_to_cpu(path->nodes[0], &key, path->slots[0]); in search_csum_tree()
321 itemsize = btrfs_item_size(path->nodes[0], path->slots[0]); in search_csum_tree()
330 read_extent_buffer(path->nodes[0], dst, (unsigned long)item, in search_csum_tree()
391 struct btrfs_path *path; in btrfs_lookup_bio_sums() local
418 path = btrfs_alloc_path(); in btrfs_lookup_bio_sums()
419 if (!path) in btrfs_lookup_bio_sums()
425 btrfs_free_path(path); in btrfs_lookup_bio_sums()
437 path->reada = READA_FORWARD; in btrfs_lookup_bio_sums()
446 path->search_commit_root = 1; in btrfs_lookup_bio_sums()
447 path->skip_locking = 1; in btrfs_lookup_bio_sums()
470 count = search_csum_tree(fs_info, path, cur_disk_bytenr, in btrfs_lookup_bio_sums()
514 btrfs_free_path(path); in btrfs_lookup_bio_sums()
524 struct btrfs_path *path; in btrfs_lookup_csums_list() local
534 path = btrfs_alloc_path(); in btrfs_lookup_csums_list()
535 if (!path) in btrfs_lookup_csums_list()
538 path->nowait = nowait; in btrfs_lookup_csums_list()
540 path->skip_locking = 1; in btrfs_lookup_csums_list()
541 path->reada = READA_FORWARD; in btrfs_lookup_csums_list()
542 path->search_commit_root = 1; in btrfs_lookup_csums_list()
549 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_lookup_csums_list()
552 if (ret > 0 && path->slots[0] > 0) { in btrfs_lookup_csums_list()
553 leaf = path->nodes[0]; in btrfs_lookup_csums_list()
554 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in btrfs_lookup_csums_list()
574 btrfs_item_size(leaf, path->slots[0] - 1)) in btrfs_lookup_csums_list()
575 path->slots[0]--; in btrfs_lookup_csums_list()
582 leaf = path->nodes[0]; in btrfs_lookup_csums_list()
583 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in btrfs_lookup_csums_list()
584 ret = btrfs_next_leaf(root, path); in btrfs_lookup_csums_list()
589 leaf = path->nodes[0]; in btrfs_lookup_csums_list()
592 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_lookup_csums_list()
602 btrfs_item_size(leaf, path->slots[0])); in btrfs_lookup_csums_list()
604 path->slots[0]++; in btrfs_lookup_csums_list()
609 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in btrfs_lookup_csums_list()
629 read_extent_buffer(path->nodes[0], in btrfs_lookup_csums_list()
637 path->slots[0]++; in btrfs_lookup_csums_list()
648 btrfs_free_path(path); in btrfs_lookup_csums_list()
666 struct btrfs_path *path; in btrfs_lookup_csums_bitmap() local
675 path = btrfs_alloc_path(); in btrfs_lookup_csums_bitmap()
676 if (!path) in btrfs_lookup_csums_bitmap()
683 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_lookup_csums_bitmap()
686 if (ret > 0 && path->slots[0] > 0) { in btrfs_lookup_csums_bitmap()
687 leaf = path->nodes[0]; in btrfs_lookup_csums_bitmap()
688 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in btrfs_lookup_csums_bitmap()
708 btrfs_item_size(leaf, path->slots[0] - 1)) in btrfs_lookup_csums_bitmap()
709 path->slots[0]--; in btrfs_lookup_csums_bitmap()
716 leaf = path->nodes[0]; in btrfs_lookup_csums_bitmap()
717 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in btrfs_lookup_csums_bitmap()
718 ret = btrfs_next_leaf(root, path); in btrfs_lookup_csums_bitmap()
723 leaf = path->nodes[0]; in btrfs_lookup_csums_bitmap()
726 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_lookup_csums_bitmap()
736 btrfs_item_size(leaf, path->slots[0])); in btrfs_lookup_csums_bitmap()
738 path->slots[0]++; in btrfs_lookup_csums_bitmap()
743 item = btrfs_item_ptr(path->nodes[0], path->slots[0], in btrfs_lookup_csums_bitmap()
755 read_extent_buffer(path->nodes[0], csum_dest, in btrfs_lookup_csums_bitmap()
765 path->slots[0]++; in btrfs_lookup_csums_bitmap()
769 btrfs_free_path(path); in btrfs_lookup_csums_bitmap()
891 struct btrfs_path *path, in truncate_one_csum() argument
901 leaf = path->nodes[0]; in truncate_one_csum()
902 csum_end = btrfs_item_size(leaf, path->slots[0]) / csum_size; in truncate_one_csum()
915 btrfs_truncate_item(path, new_size, 1); in truncate_one_csum()
927 btrfs_truncate_item(path, new_size, 0); in truncate_one_csum()
930 btrfs_set_item_key_safe(fs_info, path, key); in truncate_one_csum()
943 struct btrfs_path *path; in btrfs_del_csums() local
955 path = btrfs_alloc_path(); in btrfs_del_csums()
956 if (!path) in btrfs_del_csums()
964 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_del_csums()
967 if (path->slots[0] == 0) in btrfs_del_csums()
969 path->slots[0]--; in btrfs_del_csums()
974 leaf = path->nodes[0]; in btrfs_del_csums()
975 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_del_csums()
985 csum_end = btrfs_item_size(leaf, path->slots[0]) / csum_size; in btrfs_del_csums()
1002 if (key.offset > bytenr && path->slots[0] > 0) { in btrfs_del_csums()
1003 int slot = path->slots[0] - 1; in btrfs_del_csums()
1014 path->slots[0] = slot; in btrfs_del_csums()
1020 ret = btrfs_del_items(trans, root, path, in btrfs_del_csums()
1021 path->slots[0], del_nr); in btrfs_del_csums()
1054 path->slots[0]); in btrfs_del_csums()
1064 ret = btrfs_split_item(trans, root, path, &key, offset); in btrfs_del_csums()
1073 truncate_one_csum(fs_info, path, &key, bytenr, len); in btrfs_del_csums()
1077 btrfs_release_path(path); in btrfs_del_csums()
1079 btrfs_free_path(path); in btrfs_del_csums()
1084 struct btrfs_path *path, in find_next_csum_offset() argument
1087 const u32 nritems = btrfs_header_nritems(path->nodes[0]); in find_next_csum_offset()
1089 int slot = path->slots[0] + 1; in find_next_csum_offset()
1093 ret = btrfs_next_leaf(root, path); in find_next_csum_offset()
1100 slot = path->slots[0]; in find_next_csum_offset()
1103 btrfs_item_key_to_cpu(path->nodes[0], &found_key, slot); in find_next_csum_offset()
1121 struct btrfs_path *path; in btrfs_csum_file_blocks() local
1135 path = btrfs_alloc_path(); in btrfs_csum_file_blocks()
1136 if (!path) in btrfs_csum_file_blocks()
1146 item = btrfs_lookup_csum(trans, root, path, bytenr, 1); in btrfs_csum_file_blocks()
1149 leaf = path->nodes[0]; in btrfs_csum_file_blocks()
1150 item_end = btrfs_item_ptr(leaf, path->slots[0], in btrfs_csum_file_blocks()
1153 btrfs_item_size(leaf, path->slots[0])); in btrfs_csum_file_blocks()
1163 leaf = path->nodes[0]; in btrfs_csum_file_blocks()
1164 item_size = btrfs_item_size(leaf, path->slots[0]); in btrfs_csum_file_blocks()
1172 ret = find_next_csum_offset(root, path, &next_offset); in btrfs_csum_file_blocks()
1190 btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]); in btrfs_csum_file_blocks()
1196 btrfs_release_path(path); in btrfs_csum_file_blocks()
1197 path->search_for_extension = 1; in btrfs_csum_file_blocks()
1198 ret = btrfs_search_slot(trans, root, &file_key, path, in btrfs_csum_file_blocks()
1200 path->search_for_extension = 0; in btrfs_csum_file_blocks()
1205 if (path->slots[0] == 0) in btrfs_csum_file_blocks()
1207 path->slots[0]--; in btrfs_csum_file_blocks()
1210 leaf = path->nodes[0]; in btrfs_csum_file_blocks()
1211 btrfs_item_key_to_cpu(leaf, &found_key, path->slots[0]); in btrfs_csum_file_blocks()
1221 if (csum_offset == btrfs_item_size(leaf, path->slots[0]) / in btrfs_csum_file_blocks()
1254 if (path->slots[0] + 1 >= in btrfs_csum_file_blocks()
1255 btrfs_header_nritems(path->nodes[0])) { in btrfs_csum_file_blocks()
1256 ret = find_next_csum_offset(root, path, &next_offset); in btrfs_csum_file_blocks()
1263 ret = find_next_csum_offset(root, path, &next_offset); in btrfs_csum_file_blocks()
1276 diff = diff - btrfs_item_size(leaf, path->slots[0]); in btrfs_csum_file_blocks()
1281 btrfs_extend_item(path, diff); in btrfs_csum_file_blocks()
1287 btrfs_release_path(path); in btrfs_csum_file_blocks()
1303 ret = btrfs_insert_empty_item(trans, root, path, &file_key, in btrfs_csum_file_blocks()
1309 leaf = path->nodes[0]; in btrfs_csum_file_blocks()
1311 item = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_csum_item); in btrfs_csum_file_blocks()
1313 btrfs_item_size(leaf, path->slots[0])); in btrfs_csum_file_blocks()
1328 btrfs_mark_buffer_dirty(path->nodes[0]); in btrfs_csum_file_blocks()
1330 btrfs_release_path(path); in btrfs_csum_file_blocks()
1335 btrfs_free_path(path); in btrfs_csum_file_blocks()
1340 const struct btrfs_path *path, in btrfs_extent_item_to_extent_map() argument
1346 struct extent_buffer *leaf = path->nodes[0]; in btrfs_extent_item_to_extent_map()
1347 const int slot = path->slots[0]; in btrfs_extent_item_to_extent_map()
1356 extent_end = btrfs_file_extent_end(path); in btrfs_extent_item_to_extent_map()
1409 u64 btrfs_file_extent_end(const struct btrfs_path *path) in btrfs_file_extent_end() argument
1411 const struct extent_buffer *leaf = path->nodes[0]; in btrfs_file_extent_end()
1412 const int slot = path->slots[0]; in btrfs_file_extent_end()