Lines Matching refs:cow

248 	struct extent_buffer *cow;  in btrfs_copy_root()  local
267 cow = btrfs_alloc_tree_block(trans, root, 0, new_root_objectid, in btrfs_copy_root()
270 if (IS_ERR(cow)) in btrfs_copy_root()
271 return PTR_ERR(cow); in btrfs_copy_root()
273 copy_extent_buffer_full(cow, buf); in btrfs_copy_root()
274 btrfs_set_header_bytenr(cow, cow->start); in btrfs_copy_root()
275 btrfs_set_header_generation(cow, trans->transid); in btrfs_copy_root()
276 btrfs_set_header_backref_rev(cow, BTRFS_MIXED_BACKREF_REV); in btrfs_copy_root()
277 btrfs_clear_header_flag(cow, BTRFS_HEADER_FLAG_WRITTEN | in btrfs_copy_root()
280 btrfs_set_header_flag(cow, BTRFS_HEADER_FLAG_RELOC); in btrfs_copy_root()
282 btrfs_set_header_owner(cow, new_root_objectid); in btrfs_copy_root()
284 write_extent_buffer_fsid(cow, fs_info->fs_devices->metadata_uuid); in btrfs_copy_root()
288 ret = btrfs_inc_ref(trans, root, cow, 1); in btrfs_copy_root()
290 ret = btrfs_inc_ref(trans, root, cow, 0); in btrfs_copy_root()
292 btrfs_tree_unlock(cow); in btrfs_copy_root()
293 free_extent_buffer(cow); in btrfs_copy_root()
298 btrfs_mark_buffer_dirty(trans, cow); in btrfs_copy_root()
299 *cow_ret = cow; in btrfs_copy_root()
346 struct extent_buffer *cow, in update_ref_for_cow() argument
420 ret = btrfs_inc_ref(trans, root, cow, 1); in update_ref_for_cow()
431 ret = btrfs_inc_ref(trans, root, cow, 1); in update_ref_for_cow()
433 ret = btrfs_inc_ref(trans, root, cow, 0); in update_ref_for_cow()
440 ret = btrfs_inc_ref(trans, root, cow, 1); in update_ref_for_cow()
442 ret = btrfs_inc_ref(trans, root, cow, 0); in update_ref_for_cow()
477 struct extent_buffer *cow; in btrfs_force_cow_block() local
506 cow = btrfs_alloc_tree_block(trans, root, parent_start, in btrfs_force_cow_block()
509 if (IS_ERR(cow)) in btrfs_force_cow_block()
510 return PTR_ERR(cow); in btrfs_force_cow_block()
514 copy_extent_buffer_full(cow, buf); in btrfs_force_cow_block()
515 btrfs_set_header_bytenr(cow, cow->start); in btrfs_force_cow_block()
516 btrfs_set_header_generation(cow, trans->transid); in btrfs_force_cow_block()
517 btrfs_set_header_backref_rev(cow, BTRFS_MIXED_BACKREF_REV); in btrfs_force_cow_block()
518 btrfs_clear_header_flag(cow, BTRFS_HEADER_FLAG_WRITTEN | in btrfs_force_cow_block()
521 btrfs_set_header_flag(cow, BTRFS_HEADER_FLAG_RELOC); in btrfs_force_cow_block()
523 btrfs_set_header_owner(cow, btrfs_root_id(root)); in btrfs_force_cow_block()
525 write_extent_buffer_fsid(cow, fs_info->fs_devices->metadata_uuid); in btrfs_force_cow_block()
527 ret = update_ref_for_cow(trans, root, buf, cow, &last_ref); in btrfs_force_cow_block()
534 ret = btrfs_reloc_cow_block(trans, root, buf, cow); in btrfs_force_cow_block()
547 ret = btrfs_tree_mod_log_insert_root(root->node, cow, true); in btrfs_force_cow_block()
552 atomic_inc(&cow->refs); in btrfs_force_cow_block()
553 rcu_assign_pointer(root->node, cow); in btrfs_force_cow_block()
572 cow->start); in btrfs_force_cow_block()
591 trace_btrfs_cow_block(root, buf, cow); in btrfs_force_cow_block()
595 btrfs_mark_buffer_dirty(trans, cow); in btrfs_force_cow_block()
596 *cow_ret = cow; in btrfs_force_cow_block()
600 btrfs_tree_unlock(cow); in btrfs_force_cow_block()
601 free_extent_buffer(cow); in btrfs_force_cow_block()
1979 int ins_len, int cow) in btrfs_search_slot() argument
2003 BUG_ON(!cow && ins_len); in btrfs_search_slot()
2010 ASSERT(!p->nowait || !cow); in btrfs_search_slot()
2028 if (!cow) in btrfs_search_slot()
2031 if (cow && (p->keep_locks || p->lowest_level)) in btrfs_search_slot()
2059 if (cow) { in btrfs_search_slot()