• Home
  • Raw
  • Download

Lines Matching refs:eb

170 				    struct extent_buffer *eb)  in tree_mod_dont_log()  argument
174 if (eb && btrfs_header_level(eb) == 0) in tree_mod_dont_log()
188 struct extent_buffer *eb) in tree_mod_need_log() argument
192 if (eb && btrfs_header_level(eb) == 0) in tree_mod_need_log()
198 static struct tree_mod_elem *alloc_tree_mod_elem(struct extent_buffer *eb, in alloc_tree_mod_elem() argument
209 tm->logical = eb->start; in alloc_tree_mod_elem()
211 btrfs_node_key(eb, &tm->key, slot); in alloc_tree_mod_elem()
212 tm->blockptr = btrfs_node_blockptr(eb, slot); in alloc_tree_mod_elem()
216 tm->generation = btrfs_node_ptr_generation(eb, slot); in alloc_tree_mod_elem()
222 int btrfs_tree_mod_log_insert_key(struct extent_buffer *eb, int slot, in btrfs_tree_mod_log_insert_key() argument
228 if (!tree_mod_need_log(eb->fs_info, eb)) in btrfs_tree_mod_log_insert_key()
231 tm = alloc_tree_mod_elem(eb, slot, op, flags); in btrfs_tree_mod_log_insert_key()
235 if (tree_mod_dont_log(eb->fs_info, eb)) { in btrfs_tree_mod_log_insert_key()
240 ret = tree_mod_log_insert(eb->fs_info, tm); in btrfs_tree_mod_log_insert_key()
241 write_unlock(&eb->fs_info->tree_mod_log_lock); in btrfs_tree_mod_log_insert_key()
248 int btrfs_tree_mod_log_insert_move(struct extent_buffer *eb, in btrfs_tree_mod_log_insert_move() argument
258 if (!tree_mod_need_log(eb->fs_info, eb)) in btrfs_tree_mod_log_insert_move()
271 tm->logical = eb->start; in btrfs_tree_mod_log_insert_move()
278 tm_list[i] = alloc_tree_mod_elem(eb, i + dst_slot, in btrfs_tree_mod_log_insert_move()
286 if (tree_mod_dont_log(eb->fs_info, eb)) in btrfs_tree_mod_log_insert_move()
296 ret = tree_mod_log_insert(eb->fs_info, tm_list[i]); in btrfs_tree_mod_log_insert_move()
301 ret = tree_mod_log_insert(eb->fs_info, tm); in btrfs_tree_mod_log_insert_move()
304 write_unlock(&eb->fs_info->tree_mod_log_lock); in btrfs_tree_mod_log_insert_move()
312 rb_erase(&tm_list[i]->node, &eb->fs_info->tree_mod_log); in btrfs_tree_mod_log_insert_move()
316 write_unlock(&eb->fs_info->tree_mod_log_lock); in btrfs_tree_mod_log_insert_move()
550 int btrfs_tree_mod_log_free_eb(struct extent_buffer *eb) in btrfs_tree_mod_log_free_eb() argument
557 if (!tree_mod_need_log(eb->fs_info, eb)) in btrfs_tree_mod_log_free_eb()
560 nritems = btrfs_header_nritems(eb); in btrfs_tree_mod_log_free_eb()
566 tm_list[i] = alloc_tree_mod_elem(eb, i, in btrfs_tree_mod_log_free_eb()
574 if (tree_mod_dont_log(eb->fs_info, eb)) in btrfs_tree_mod_log_free_eb()
577 ret = tree_mod_log_free_eb(eb->fs_info, tm_list, nritems); in btrfs_tree_mod_log_free_eb()
578 write_unlock(&eb->fs_info->tree_mod_log_lock); in btrfs_tree_mod_log_free_eb()
654 struct extent_buffer *eb, in tree_mod_log_rewind() argument
665 n = btrfs_header_nritems(eb); in tree_mod_log_rewind()
679 btrfs_set_node_key(eb, &tm->key, tm->slot); in tree_mod_log_rewind()
680 btrfs_set_node_blockptr(eb, tm->slot, tm->blockptr); in tree_mod_log_rewind()
681 btrfs_set_node_ptr_generation(eb, tm->slot, in tree_mod_log_rewind()
687 btrfs_set_node_key(eb, &tm->key, tm->slot); in tree_mod_log_rewind()
688 btrfs_set_node_blockptr(eb, tm->slot, tm->blockptr); in tree_mod_log_rewind()
689 btrfs_set_node_ptr_generation(eb, tm->slot, in tree_mod_log_rewind()
699 memmove_extent_buffer(eb, o_dst, o_src, in tree_mod_log_rewind()
722 btrfs_set_header_nritems(eb, n); in tree_mod_log_rewind()
734 struct extent_buffer *eb, in btrfs_tree_mod_log_rewind() argument
741 return eb; in btrfs_tree_mod_log_rewind()
743 if (btrfs_header_level(eb) == 0) in btrfs_tree_mod_log_rewind()
744 return eb; in btrfs_tree_mod_log_rewind()
746 tm = tree_mod_log_search(fs_info, eb->start, time_seq); in btrfs_tree_mod_log_rewind()
748 return eb; in btrfs_tree_mod_log_rewind()
752 eb_rewin = alloc_dummy_extent_buffer(fs_info, eb->start); in btrfs_tree_mod_log_rewind()
754 btrfs_tree_read_unlock(eb); in btrfs_tree_mod_log_rewind()
755 free_extent_buffer(eb); in btrfs_tree_mod_log_rewind()
758 btrfs_set_header_bytenr(eb_rewin, eb->start); in btrfs_tree_mod_log_rewind()
760 btrfs_header_backref_rev(eb)); in btrfs_tree_mod_log_rewind()
761 btrfs_set_header_owner(eb_rewin, btrfs_header_owner(eb)); in btrfs_tree_mod_log_rewind()
762 btrfs_set_header_level(eb_rewin, btrfs_header_level(eb)); in btrfs_tree_mod_log_rewind()
764 eb_rewin = btrfs_clone_extent_buffer(eb); in btrfs_tree_mod_log_rewind()
766 btrfs_tree_read_unlock(eb); in btrfs_tree_mod_log_rewind()
767 free_extent_buffer(eb); in btrfs_tree_mod_log_rewind()
772 btrfs_tree_read_unlock(eb); in btrfs_tree_mod_log_rewind()
773 free_extent_buffer(eb); in btrfs_tree_mod_log_rewind()
796 struct extent_buffer *eb = NULL; in btrfs_get_old_root() local
836 eb = btrfs_clone_extent_buffer(old); in btrfs_get_old_root()
853 free_extent_buffer(eb); in btrfs_get_old_root()
862 eb = alloc_dummy_extent_buffer(fs_info, logical); in btrfs_get_old_root()
864 eb = btrfs_clone_extent_buffer(eb_root); in btrfs_get_old_root()
869 if (!eb) in btrfs_get_old_root()
872 btrfs_set_header_bytenr(eb, eb->start); in btrfs_get_old_root()
873 btrfs_set_header_backref_rev(eb, BTRFS_MIXED_BACKREF_REV); in btrfs_get_old_root()
874 btrfs_set_header_owner(eb, eb_root_owner); in btrfs_get_old_root()
875 btrfs_set_header_level(eb, old_root->level); in btrfs_get_old_root()
876 btrfs_set_header_generation(eb, old_generation); in btrfs_get_old_root()
878 btrfs_set_buffer_lockdep_class(btrfs_header_owner(eb), eb, in btrfs_get_old_root()
879 btrfs_header_level(eb)); in btrfs_get_old_root()
880 btrfs_tree_read_lock(eb); in btrfs_get_old_root()
882 tree_mod_log_rewind(fs_info, eb, time_seq, tm); in btrfs_get_old_root()
884 WARN_ON(btrfs_header_level(eb) != 0); in btrfs_get_old_root()
885 WARN_ON(btrfs_header_nritems(eb) > BTRFS_NODEPTRS_PER_BLOCK(fs_info)); in btrfs_get_old_root()
887 return eb; in btrfs_get_old_root()