Lines Matching defs:path
76 struct btrfs_path *path,
88 ret = btrfs_search_slot(trans, root, &key, path, ins_len, cow);
93 return btrfs_find_name_in_ext_backref(path->nodes[0], path->slots[0],
104 struct btrfs_path *path;
118 path = btrfs_alloc_path();
119 if (!path)
122 path->leave_spinning = 1;
124 ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
135 extref = btrfs_find_name_in_ext_backref(path->nodes[0], path->slots[0],
143 leaf = path->nodes[0];
144 item_size = btrfs_item_size_nr(leaf, path->slots[0]);
153 ret = btrfs_del_item(trans, root, path);
158 item_start = btrfs_item_ptr_offset(leaf, path->slots[0]);
163 btrfs_truncate_item(path, item_size - del_len, 1);
166 btrfs_free_path(path);
176 struct btrfs_path *path;
192 path = btrfs_alloc_path();
193 if (!path)
196 path->leave_spinning = 1;
198 ret = btrfs_search_slot(trans, root, &key, path, -1, 1);
207 ref = btrfs_find_name_in_backref(path->nodes[0], path->slots[0], name,
214 leaf = path->nodes[0];
215 item_size = btrfs_item_size_nr(leaf, path->slots[0]);
221 ret = btrfs_del_item(trans, root, path);
226 item_start = btrfs_item_ptr_offset(leaf, path->slots[0]);
229 btrfs_truncate_item(path, item_size - sub_item_len, 1);
231 btrfs_free_path(path);
260 struct btrfs_path *path;
269 path = btrfs_alloc_path();
270 if (!path)
273 path->leave_spinning = 1;
274 ret = btrfs_insert_empty_item(trans, root, path, &key,
277 if (btrfs_find_name_in_ext_backref(path->nodes[0],
278 path->slots[0],
283 btrfs_extend_item(path, ins_len);
289 leaf = path->nodes[0];
290 item = btrfs_item_nr(path->slots[0]);
291 ptr = (unsigned long)btrfs_item_ptr(leaf, path->slots[0], char);
295 btrfs_set_inode_extref_name_len(path->nodes[0], extref, name_len);
296 btrfs_set_inode_extref_index(path->nodes[0], extref, index);
297 btrfs_set_inode_extref_parent(path->nodes[0], extref, ref_objectid);
300 write_extent_buffer(path->nodes[0], name, ptr, name_len);
301 btrfs_mark_buffer_dirty(path->nodes[0]);
304 btrfs_free_path(path);
308 /* Will return 0, -ENOMEM, -EMLINK, or -EEXIST or anything from the CoW path */
315 struct btrfs_path *path;
326 path = btrfs_alloc_path();
327 if (!path)
330 path->leave_spinning = 1;
331 path->skip_release_on_error = 1;
332 ret = btrfs_insert_empty_item(trans, root, path, &key,
336 ref = btrfs_find_name_in_backref(path->nodes[0], path->slots[0],
341 old_size = btrfs_item_size_nr(path->nodes[0], path->slots[0]);
342 btrfs_extend_item(path, ins_len);
343 ref = btrfs_item_ptr(path->nodes[0], path->slots[0],
346 btrfs_set_inode_ref_name_len(path->nodes[0], ref, name_len);
347 btrfs_set_inode_ref_index(path->nodes[0], ref, index);
352 if (btrfs_find_name_in_backref(path->nodes[0],
353 path->slots[0],
361 ref = btrfs_item_ptr(path->nodes[0], path->slots[0],
363 btrfs_set_inode_ref_name_len(path->nodes[0], ref, name_len);
364 btrfs_set_inode_ref_index(path->nodes[0], ref, index);
367 write_extent_buffer(path->nodes[0], name, ptr, name_len);
368 btrfs_mark_buffer_dirty(path->nodes[0]);
371 btrfs_free_path(path);
390 struct btrfs_path *path, u64 objectid)
398 ret = btrfs_insert_empty_item(trans, root, path, &key,
404 *root, struct btrfs_path *path,
414 ret = btrfs_search_slot(trans, root, location, path, ins_len, cow);
416 location->offset == (u64)-1 && path->slots[0] != 0) {
417 slot = path->slots[0] - 1;
418 leaf = path->nodes[0];
422 path->slots[0]--;