Lines Matching refs:path

693 			 struct btrfs_path *path, u64 start, u64 end,  in __btrfs_drop_extents()  argument
729 ret = btrfs_lookup_file_extent(trans, root, path, ino, in __btrfs_drop_extents()
733 if (ret > 0 && path->slots[0] > 0 && search_start == start) { in __btrfs_drop_extents()
734 leaf = path->nodes[0]; in __btrfs_drop_extents()
735 btrfs_item_key_to_cpu(leaf, &key, path->slots[0] - 1); in __btrfs_drop_extents()
738 path->slots[0]--; in __btrfs_drop_extents()
743 leaf = path->nodes[0]; in __btrfs_drop_extents()
744 if (path->slots[0] >= btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
746 ret = btrfs_next_leaf(root, path); in __btrfs_drop_extents()
754 leaf = path->nodes[0]; in __btrfs_drop_extents()
758 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in __btrfs_drop_extents()
765 path->slots[0]++; in __btrfs_drop_extents()
771 fi = btrfs_item_ptr(leaf, path->slots[0], in __btrfs_drop_extents()
785 path->slots[0], fi); in __btrfs_drop_extents()
804 path->slots[0]++; in __btrfs_drop_extents()
812 btrfs_release_path(path); in __btrfs_drop_extents()
829 ret = btrfs_duplicate_item(trans, root, path, in __btrfs_drop_extents()
832 btrfs_release_path(path); in __btrfs_drop_extents()
838 leaf = path->nodes[0]; in __btrfs_drop_extents()
839 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in __btrfs_drop_extents()
844 fi = btrfs_item_ptr(leaf, path->slots[0], in __btrfs_drop_extents()
875 btrfs_set_item_key_safe(root->fs_info, path, &new_key); in __btrfs_drop_extents()
907 path->slots[0]++; in __btrfs_drop_extents()
918 del_slot = path->slots[0]; in __btrfs_drop_extents()
921 BUG_ON(del_slot + del_nr != path->slots[0]); in __btrfs_drop_extents()
945 if (path->slots[0] + 1 < btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
946 path->slots[0]++; in __btrfs_drop_extents()
950 ret = btrfs_del_items(trans, root, path, del_slot, in __btrfs_drop_extents()
960 btrfs_release_path(path); in __btrfs_drop_extents()
974 path->slots[0] = del_slot; in __btrfs_drop_extents()
975 ret = btrfs_del_items(trans, root, path, del_slot, del_nr); in __btrfs_drop_extents()
980 leaf = path->nodes[0]; in __btrfs_drop_extents()
987 (path->locks[0] == BTRFS_WRITE_LOCK_BLOCKING || in __btrfs_drop_extents()
988 path->locks[0] == BTRFS_WRITE_LOCK) && in __btrfs_drop_extents()
995 if (!del_nr && path->slots[0] < btrfs_header_nritems(leaf)) { in __btrfs_drop_extents()
998 btrfs_item_key_to_cpu(leaf, &slot_key, path->slots[0]); in __btrfs_drop_extents()
1000 path->slots[0]++; in __btrfs_drop_extents()
1002 setup_items_for_insert(root, path, &key, in __btrfs_drop_extents()
1011 btrfs_release_path(path); in __btrfs_drop_extents()
1021 struct btrfs_path *path; in btrfs_drop_extents() local
1024 path = btrfs_alloc_path(); in btrfs_drop_extents()
1025 if (!path) in btrfs_drop_extents()
1027 ret = __btrfs_drop_extents(trans, root, inode, path, start, end, NULL, in btrfs_drop_extents()
1029 btrfs_free_path(path); in btrfs_drop_extents()
1078 struct btrfs_path *path; in btrfs_mark_extent_written() local
1095 path = btrfs_alloc_path(); in btrfs_mark_extent_written()
1096 if (!path) in btrfs_mark_extent_written()
1105 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in btrfs_mark_extent_written()
1108 if (ret > 0 && path->slots[0] > 0) in btrfs_mark_extent_written()
1109 path->slots[0]--; in btrfs_mark_extent_written()
1111 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1112 btrfs_item_key_to_cpu(leaf, &key, path->slots[0]); in btrfs_mark_extent_written()
1114 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1129 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1133 btrfs_set_item_key_safe(root->fs_info, path, &new_key); in btrfs_mark_extent_written()
1134 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1142 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1156 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1159 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1165 path->slots[0]++; in btrfs_mark_extent_written()
1167 btrfs_set_item_key_safe(root->fs_info, path, &new_key); in btrfs_mark_extent_written()
1169 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1187 ret = btrfs_duplicate_item(trans, root, path, &new_key); in btrfs_mark_extent_written()
1189 btrfs_release_path(path); in btrfs_mark_extent_written()
1197 leaf = path->nodes[0]; in btrfs_mark_extent_written()
1198 fi = btrfs_item_ptr(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1204 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1222 path->slots[0]--; in btrfs_mark_extent_written()
1230 if (extent_mergeable(leaf, path->slots[0] + 1, in btrfs_mark_extent_written()
1234 btrfs_release_path(path); in btrfs_mark_extent_written()
1238 del_slot = path->slots[0] + 1; in btrfs_mark_extent_written()
1247 if (extent_mergeable(leaf, path->slots[0] - 1, in btrfs_mark_extent_written()
1251 btrfs_release_path(path); in btrfs_mark_extent_written()
1255 del_slot = path->slots[0]; in btrfs_mark_extent_written()
1263 fi = btrfs_item_ptr(leaf, path->slots[0], in btrfs_mark_extent_written()
1279 ret = btrfs_del_items(trans, root, path, del_slot, del_nr); in btrfs_mark_extent_written()
1286 btrfs_free_path(path); in btrfs_mark_extent_written()
2152 struct btrfs_path *path, u64 offset, u64 end) in fill_holes() argument
2169 ret = btrfs_search_slot(trans, root, &key, path, 0, 1); in fill_holes()
2174 leaf = path->nodes[0]; in fill_holes()
2175 if (hole_mergeable(inode, leaf, path->slots[0]-1, offset, end)) { in fill_holes()
2178 path->slots[0]--; in fill_holes()
2179 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2190 if (hole_mergeable(inode, leaf, path->slots[0], offset, end)) { in fill_holes()
2194 btrfs_set_item_key_safe(root->fs_info, path, &key); in fill_holes()
2195 fi = btrfs_item_ptr(leaf, path->slots[0], in fill_holes()
2205 btrfs_release_path(path); in fill_holes()
2214 btrfs_release_path(path); in fill_holes()
2284 struct btrfs_path *path; in btrfs_punch_hole() local
2429 path = btrfs_alloc_path(); in btrfs_punch_hole()
2430 if (!path) { in btrfs_punch_hole()
2463 ret = __btrfs_drop_extents(trans, root, inode, path, in btrfs_punch_hole()
2472 ret = fill_holes(trans, inode, path, cur_offset, in btrfs_punch_hole()
2537 ret = fill_holes(trans, inode, path, cur_offset, drop_end); in btrfs_punch_hole()
2557 btrfs_free_path(path); in btrfs_punch_hole()