Lines Matching refs:root

97 			   struct btrfs_root *root, struct inode *inode,
103 struct btrfs_root *root,
106 struct btrfs_root *root,
140 struct btrfs_root *root, in start_log_trans() argument
145 mutex_lock(&root->log_mutex); in start_log_trans()
147 if (root->log_root) { in start_log_trans()
148 if (btrfs_need_log_full_commit(root->fs_info, trans)) { in start_log_trans()
153 if (!root->log_start_pid) { in start_log_trans()
154 clear_bit(BTRFS_ROOT_MULTI_LOG_TASKS, &root->state); in start_log_trans()
155 root->log_start_pid = current->pid; in start_log_trans()
156 } else if (root->log_start_pid != current->pid) { in start_log_trans()
157 set_bit(BTRFS_ROOT_MULTI_LOG_TASKS, &root->state); in start_log_trans()
160 mutex_lock(&root->fs_info->tree_log_mutex); in start_log_trans()
161 if (!root->fs_info->log_root_tree) in start_log_trans()
162 ret = btrfs_init_log_root_tree(trans, root->fs_info); in start_log_trans()
163 mutex_unlock(&root->fs_info->tree_log_mutex); in start_log_trans()
167 ret = btrfs_add_log_tree(trans, root); in start_log_trans()
171 clear_bit(BTRFS_ROOT_MULTI_LOG_TASKS, &root->state); in start_log_trans()
172 root->log_start_pid = current->pid; in start_log_trans()
175 atomic_inc(&root->log_batch); in start_log_trans()
176 atomic_inc(&root->log_writers); in start_log_trans()
178 int index = root->log_transid % 2; in start_log_trans()
179 list_add_tail(&ctx->list, &root->log_ctxs[index]); in start_log_trans()
180 ctx->log_transid = root->log_transid; in start_log_trans()
184 mutex_unlock(&root->log_mutex); in start_log_trans()
193 static int join_running_log_trans(struct btrfs_root *root) in join_running_log_trans() argument
198 if (!root->log_root) in join_running_log_trans()
201 mutex_lock(&root->log_mutex); in join_running_log_trans()
202 if (root->log_root) { in join_running_log_trans()
204 atomic_inc(&root->log_writers); in join_running_log_trans()
206 mutex_unlock(&root->log_mutex); in join_running_log_trans()
215 int btrfs_pin_log_trans(struct btrfs_root *root) in btrfs_pin_log_trans() argument
219 mutex_lock(&root->log_mutex); in btrfs_pin_log_trans()
220 atomic_inc(&root->log_writers); in btrfs_pin_log_trans()
221 mutex_unlock(&root->log_mutex); in btrfs_pin_log_trans()
229 void btrfs_end_log_trans(struct btrfs_root *root) in btrfs_end_log_trans() argument
231 if (atomic_dec_and_test(&root->log_writers)) { in btrfs_end_log_trans()
235 if (waitqueue_active(&root->log_writer_wait)) in btrfs_end_log_trans()
236 wake_up(&root->log_writer_wait); in btrfs_end_log_trans()
335 struct btrfs_root *root, in overwrite_item() argument
349 if (root->root_key.objectid != BTRFS_TREE_LOG_OBJECTID) in overwrite_item()
356 ret = btrfs_search_slot(NULL, root, key, path, 0, 0); in overwrite_item()
450 ret = btrfs_insert_empty_item(trans, root, path, in overwrite_item()
460 btrfs_truncate_item(root, path, item_size, 1); in overwrite_item()
462 btrfs_extend_item(root, path, in overwrite_item()
546 static noinline struct inode *read_one_inode(struct btrfs_root *root, in read_one_inode() argument
555 inode = btrfs_iget(root->fs_info->sb, &key, root, NULL); in read_one_inode()
578 struct btrfs_root *root, in replay_one_extent() argument
609 extent_end = ALIGN(start + size, root->sectorsize); in replay_one_extent()
615 inode = read_one_inode(root, key->objectid); in replay_one_extent()
626 ret = btrfs_lookup_file_extent(trans, root, path, btrfs_ino(inode), in replay_one_extent()
658 ret = btrfs_drop_extents(trans, root, inode, start, extent_end, 1); in replay_one_extent()
668 ret = btrfs_insert_empty_item(trans, root, path, key, in replay_one_extent()
690 ret = btrfs_lookup_data_extent(root, ins.objectid, in replay_one_extent()
693 ret = btrfs_inc_extent_ref(trans, root, in replay_one_extent()
695 0, root->root_key.objectid, in replay_one_extent()
705 root, root->root_key.objectid, in replay_one_extent()
722 ret = btrfs_lookup_csums_range(root->log_root, in replay_one_extent()
783 root->fs_info->csum_root, in replay_one_extent()
788 root->fs_info->csum_root, in replay_one_extent()
800 ret = overwrite_item(trans, root, path, eb, slot, key); in replay_one_extent()
806 ret = btrfs_update_inode(trans, root, inode); in replay_one_extent()
822 struct btrfs_root *root, in drop_one_dir_item() argument
845 inode = read_one_inode(root, location.objectid); in drop_one_dir_item()
851 ret = link_to_fixup_dir(trans, root, path, location.objectid); in drop_one_dir_item()
855 ret = btrfs_unlink_inode(trans, root, dir, inode, name, name_len); in drop_one_dir_item()
859 ret = btrfs_run_delayed_items(trans, root); in drop_one_dir_item()
871 static noinline int inode_in_dir(struct btrfs_root *root, in inode_in_dir() argument
880 di = btrfs_lookup_dir_index_item(NULL, root, path, dirid, in inode_in_dir()
890 di = btrfs_lookup_dir_item(NULL, root, path, dirid, name, name_len, 0); in inode_in_dir()
968 struct btrfs_root *root, in __add_inode_ref() argument
990 ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0); in __add_inode_ref()
1029 ret = btrfs_unlink_inode(trans, root, dir, in __add_inode_ref()
1035 ret = btrfs_run_delayed_items(trans, root); in __add_inode_ref()
1055 extref = btrfs_lookup_inode_extref(NULL, root, path, name, namelen, in __add_inode_ref()
1093 victim_parent = read_one_inode(root, in __add_inode_ref()
1099 ret = btrfs_unlink_inode(trans, root, in __add_inode_ref()
1106 trans, root); in __add_inode_ref()
1126 di = btrfs_lookup_dir_index_item(trans, root, path, btrfs_ino(dir), in __add_inode_ref()
1129 ret = drop_one_dir_item(trans, root, path, dir, di); in __add_inode_ref()
1136 di = btrfs_lookup_dir_item(trans, root, path, btrfs_ino(dir), in __add_inode_ref()
1139 ret = drop_one_dir_item(trans, root, path, dir, di); in __add_inode_ref()
1197 struct btrfs_root *root, in add_inode_ref() argument
1239 dir = read_one_inode(root, parent_objectid); in add_inode_ref()
1245 inode = read_one_inode(root, inode_objectid); in add_inode_ref()
1260 dir = read_one_inode(root, parent_objectid); in add_inode_ref()
1273 if (!inode_in_dir(root, path, btrfs_ino(dir), btrfs_ino(inode), in add_inode_ref()
1284 ret = __add_inode_ref(trans, root, path, log, in add_inode_ref()
1303 btrfs_update_inode(trans, root, inode); in add_inode_ref()
1316 ret = overwrite_item(trans, root, path, eb, slot, key); in add_inode_ref()
1326 struct btrfs_root *root, u64 ino) in insert_orphan_item() argument
1330 ret = btrfs_insert_orphan_item(trans, root, ino); in insert_orphan_item()
1337 static int count_inode_extrefs(struct btrfs_root *root, in count_inode_extrefs() argument
1352 ret = btrfs_find_one_extref(root, inode_objectid, offset, path, in count_inode_extrefs()
1381 static int count_inode_refs(struct btrfs_root *root, in count_inode_refs() argument
1397 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in count_inode_refs()
1449 struct btrfs_root *root, in fixup_inode_link_count() argument
1461 ret = count_inode_refs(root, inode, path); in fixup_inode_link_count()
1467 ret = count_inode_extrefs(root, inode, path); in fixup_inode_link_count()
1477 btrfs_update_inode(trans, root, inode); in fixup_inode_link_count()
1483 ret = replay_dir_deletes(trans, root, NULL, path, in fixup_inode_link_count()
1488 ret = insert_orphan_item(trans, root, ino); in fixup_inode_link_count()
1497 struct btrfs_root *root, in fixup_inode_link_counts() argument
1508 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in fixup_inode_link_counts()
1523 ret = btrfs_del_item(trans, root, path); in fixup_inode_link_counts()
1528 inode = read_one_inode(root, key.offset); in fixup_inode_link_counts()
1532 ret = fixup_inode_link_count(trans, root, inode); in fixup_inode_link_counts()
1557 struct btrfs_root *root, in link_to_fixup_dir() argument
1565 inode = read_one_inode(root, objectid); in link_to_fixup_dir()
1573 ret = btrfs_insert_empty_item(trans, root, path, &key, 0); in link_to_fixup_dir()
1581 ret = btrfs_update_inode(trans, root, inode); in link_to_fixup_dir()
1598 struct btrfs_root *root, in insert_one_name() argument
1607 inode = read_one_inode(root, location->objectid); in insert_one_name()
1611 dir = read_one_inode(root, dirid); in insert_one_name()
1667 struct btrfs_root *root, in replay_one_name() argument
1685 dir = read_one_inode(root, key->objectid); in replay_one_name()
1701 exists = btrfs_lookup_inode(trans, root, path, &log_key, 0); in replay_one_name()
1709 dst_di = btrfs_lookup_dir_item(trans, root, path, key->objectid, in replay_one_name()
1712 dst_di = btrfs_lookup_dir_index_item(trans, root, path, in replay_one_name()
1747 ret = drop_one_dir_item(trans, root, path, dir, dst_di); in replay_one_name()
1757 ret = btrfs_update_inode(trans, root, dir); in replay_one_name()
1766 if (name_in_log_ref(root->log_root, name, name_len, in replay_one_name()
1774 ret = insert_one_name(trans, root, key->objectid, key->offset, in replay_one_name()
1792 struct btrfs_root *root, in replay_one_dir_item() argument
1809 if (verify_dir_item(root, eb, di)) in replay_one_dir_item()
1812 ret = replay_one_name(trans, root, path, eb, di, key); in replay_one_dir_item()
1857 ret = link_to_fixup_dir(trans, root, fixup_path, in replay_one_dir_item()
1879 static noinline int find_dir_range(struct btrfs_root *root, in find_dir_range() argument
1897 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in find_dir_range()
1927 ret = btrfs_next_leaf(root, path); in find_dir_range()
1957 struct btrfs_root *root, in check_item_in_log() argument
1985 if (verify_dir_item(root, eb, di)) { in check_item_in_log()
2014 inode = read_one_inode(root, location.objectid); in check_item_in_log()
2020 ret = link_to_fixup_dir(trans, root, in check_item_in_log()
2029 ret = btrfs_unlink_inode(trans, root, dir, inode, in check_item_in_log()
2032 ret = btrfs_run_delayed_items(trans, root); in check_item_in_log()
2041 ret = btrfs_search_slot(NULL, root, dir_key, path, in check_item_in_log()
2065 struct btrfs_root *root, in replay_xattr_deletes() argument
2084 ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0); in replay_xattr_deletes()
2125 di = btrfs_lookup_xattr(trans, root, path, ino, in replay_xattr_deletes()
2133 ret = btrfs_delete_one_dir_name(trans, root, in replay_xattr_deletes()
2150 ret = btrfs_next_leaf(root, path); in replay_xattr_deletes()
2173 struct btrfs_root *root, in replay_dir_deletes() argument
2193 dir = read_one_inode(root, dirid); in replay_dir_deletes()
2218 ret = btrfs_search_slot(NULL, root, &dir_key, path, in replay_dir_deletes()
2225 ret = btrfs_next_leaf(root, path); in replay_dir_deletes()
2238 ret = check_item_in_log(trans, root, log, path, in replay_dir_deletes()
2284 struct btrfs_root *root = wc->replay_dest; in replay_one_buffer() local
2315 ret = replay_xattr_deletes(wc->trans, root, log, in replay_one_buffer()
2322 root, log, path, key.objectid, 0); in replay_one_buffer()
2326 ret = overwrite_item(wc->trans, root, path, in replay_one_buffer()
2336 ret = insert_orphan_item(wc->trans, root, in replay_one_buffer()
2342 ret = link_to_fixup_dir(wc->trans, root, in replay_one_buffer()
2350 ret = replay_one_dir_item(wc->trans, root, path, in replay_one_buffer()
2361 ret = overwrite_item(wc->trans, root, path, in replay_one_buffer()
2367 ret = add_inode_ref(wc->trans, root, log, path, in replay_one_buffer()
2373 ret = replay_one_extent(wc->trans, root, path, in replay_one_buffer()
2378 ret = replay_one_dir_item(wc->trans, root, path, in replay_one_buffer()
2389 struct btrfs_root *root, in walk_down_log_tree() argument
2418 blocksize = root->nodesize; in walk_down_log_tree()
2423 next = btrfs_find_create_tree_block(root, bytenr); in walk_down_log_tree()
2428 ret = wc->process_func(root, next, wc, ptr_gen); in walk_down_log_tree()
2445 clean_tree_block(trans, root->fs_info, in walk_down_log_tree()
2453 ret = btrfs_free_and_pin_reserved_extent(root, in walk_down_log_tree()
2487 struct btrfs_root *root, in walk_up_log_tree() argument
2505 if (path->nodes[*level] == root->node) in walk_up_log_tree()
2511 ret = wc->process_func(root, path->nodes[*level], wc, in walk_up_log_tree()
2524 clean_tree_block(trans, root->fs_info, in walk_up_log_tree()
2531 ret = btrfs_free_and_pin_reserved_extent(root, in walk_up_log_tree()
2640 static void wait_log_commit(struct btrfs_root *root, int transid) in wait_log_commit() argument
2651 prepare_to_wait(&root->log_commit_wait[index], in wait_log_commit()
2653 mutex_unlock(&root->log_mutex); in wait_log_commit()
2655 if (root->log_transid_committed < transid && in wait_log_commit()
2656 atomic_read(&root->log_commit[index])) in wait_log_commit()
2659 finish_wait(&root->log_commit_wait[index], &wait); in wait_log_commit()
2660 mutex_lock(&root->log_mutex); in wait_log_commit()
2661 } while (root->log_transid_committed < transid && in wait_log_commit()
2662 atomic_read(&root->log_commit[index])); in wait_log_commit()
2665 static void wait_for_writer(struct btrfs_root *root) in wait_for_writer() argument
2669 while (atomic_read(&root->log_writers)) { in wait_for_writer()
2670 prepare_to_wait(&root->log_writer_wait, in wait_for_writer()
2672 mutex_unlock(&root->log_mutex); in wait_for_writer()
2673 if (atomic_read(&root->log_writers)) in wait_for_writer()
2675 finish_wait(&root->log_writer_wait, &wait); in wait_for_writer()
2676 mutex_lock(&root->log_mutex); in wait_for_writer()
2680 static inline void btrfs_remove_log_ctx(struct btrfs_root *root, in btrfs_remove_log_ctx() argument
2686 mutex_lock(&root->log_mutex); in btrfs_remove_log_ctx()
2688 mutex_unlock(&root->log_mutex); in btrfs_remove_log_ctx()
2695 static inline void btrfs_remove_all_log_ctxs(struct btrfs_root *root, in btrfs_remove_all_log_ctxs() argument
2701 INIT_LIST_HEAD(&root->log_ctxs[index]); in btrfs_remove_all_log_ctxs()
2705 list_for_each_entry(ctx, &root->log_ctxs[index], list) in btrfs_remove_all_log_ctxs()
2708 INIT_LIST_HEAD(&root->log_ctxs[index]); in btrfs_remove_all_log_ctxs()
2724 struct btrfs_root *root, struct btrfs_log_ctx *ctx) in btrfs_sync_log() argument
2730 struct btrfs_root *log = root->log_root; in btrfs_sync_log()
2731 struct btrfs_root *log_root_tree = root->fs_info->log_root_tree; in btrfs_sync_log()
2736 mutex_lock(&root->log_mutex); in btrfs_sync_log()
2738 if (root->log_transid_committed >= log_transid) { in btrfs_sync_log()
2739 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2744 if (atomic_read(&root->log_commit[index1])) { in btrfs_sync_log()
2745 wait_log_commit(root, log_transid); in btrfs_sync_log()
2746 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2749 ASSERT(log_transid == root->log_transid); in btrfs_sync_log()
2750 atomic_set(&root->log_commit[index1], 1); in btrfs_sync_log()
2753 if (atomic_read(&root->log_commit[(index1 + 1) % 2])) in btrfs_sync_log()
2754 wait_log_commit(root, log_transid - 1); in btrfs_sync_log()
2757 int batch = atomic_read(&root->log_batch); in btrfs_sync_log()
2759 if (!btrfs_test_opt(root, SSD) && in btrfs_sync_log()
2760 test_bit(BTRFS_ROOT_MULTI_LOG_TASKS, &root->state)) { in btrfs_sync_log()
2761 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2763 mutex_lock(&root->log_mutex); in btrfs_sync_log()
2765 wait_for_writer(root); in btrfs_sync_log()
2766 if (batch == atomic_read(&root->log_batch)) in btrfs_sync_log()
2771 if (btrfs_need_log_full_commit(root->fs_info, trans)) { in btrfs_sync_log()
2774 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2790 btrfs_abort_transaction(trans, root, ret); in btrfs_sync_log()
2792 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_sync_log()
2793 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2799 root->log_transid++; in btrfs_sync_log()
2800 log->log_transid = root->log_transid; in btrfs_sync_log()
2801 root->log_start_pid = 0; in btrfs_sync_log()
2807 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2837 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_sync_log()
2840 btrfs_abort_transaction(trans, root, ret); in btrfs_sync_log()
2885 if (btrfs_need_log_full_commit(root->fs_info, trans)) { in btrfs_sync_log()
2899 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_sync_log()
2900 btrfs_abort_transaction(trans, root, ret); in btrfs_sync_log()
2911 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_sync_log()
2918 btrfs_set_super_log_root(root->fs_info->super_for_commit, in btrfs_sync_log()
2920 btrfs_set_super_log_root_level(root->fs_info->super_for_commit, in btrfs_sync_log()
2933 ret = write_ctree_super(trans, root->fs_info->tree_root, 1); in btrfs_sync_log()
2935 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_sync_log()
2936 btrfs_abort_transaction(trans, root, ret); in btrfs_sync_log()
2940 mutex_lock(&root->log_mutex); in btrfs_sync_log()
2941 if (root->last_log_commit < log_transid) in btrfs_sync_log()
2942 root->last_log_commit = log_transid; in btrfs_sync_log()
2943 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2964 btrfs_remove_all_log_ctxs(root, index1, ret); in btrfs_sync_log()
2966 mutex_lock(&root->log_mutex); in btrfs_sync_log()
2967 root->log_transid_committed++; in btrfs_sync_log()
2968 atomic_set(&root->log_commit[index1], 0); in btrfs_sync_log()
2969 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2974 if (waitqueue_active(&root->log_commit_wait[index1])) in btrfs_sync_log()
2975 wake_up(&root->log_commit_wait[index1]); in btrfs_sync_log()
3022 int btrfs_free_log(struct btrfs_trans_handle *trans, struct btrfs_root *root) in btrfs_free_log() argument
3024 if (root->log_root) { in btrfs_free_log()
3025 free_log_tree(trans, root->log_root); in btrfs_free_log()
3026 root->log_root = NULL; in btrfs_free_log()
3063 struct btrfs_root *root, in btrfs_del_dir_entries_in_log() argument
3078 ret = join_running_log_trans(root); in btrfs_del_dir_entries_in_log()
3084 log = root->log_root; in btrfs_del_dir_entries_in_log()
3159 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_del_dir_entries_in_log()
3162 btrfs_abort_transaction(trans, root, ret); in btrfs_del_dir_entries_in_log()
3164 btrfs_end_log_trans(root); in btrfs_del_dir_entries_in_log()
3171 struct btrfs_root *root, in btrfs_del_inode_ref_in_log() argument
3182 ret = join_running_log_trans(root); in btrfs_del_inode_ref_in_log()
3185 log = root->log_root; in btrfs_del_inode_ref_in_log()
3192 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_del_inode_ref_in_log()
3195 btrfs_abort_transaction(trans, root, ret); in btrfs_del_inode_ref_in_log()
3196 btrfs_end_log_trans(root); in btrfs_del_inode_ref_in_log()
3240 struct btrfs_root *root, struct inode *inode, in log_dir_items() argument
3247 struct btrfs_root *log = root->log_root; in log_dir_items()
3257 log = root->log_root; in log_dir_items()
3263 ret = btrfs_search_forward(root, &min_key, path, trans->transid); in log_dir_items()
3274 ret = btrfs_search_slot(NULL, root, &min_key, path, 0, 0); in log_dir_items()
3279 ret = btrfs_previous_item(root, path, ino, key_type); in log_dir_items()
3297 ret = btrfs_previous_item(root, path, ino, key_type); in log_dir_items()
3315 ret = btrfs_search_slot(NULL, root, &min_key, path, 0, 0); in log_dir_items()
3378 ret = btrfs_next_leaf(root, path); in log_dir_items()
3430 struct btrfs_root *root, struct inode *inode, in log_directory_changes() argument
3444 ret = log_dir_items(trans, root, inode, path, in log_directory_changes()
3601 struct btrfs_root *log = BTRFS_I(inode)->root->log_root; in copy_items()
3762 ret = btrfs_prev_leaf(BTRFS_I(inode)->root, src_path); in copy_items()
3804 ret = btrfs_search_slot(NULL, BTRFS_I(inode)->root, &first_key, in copy_items()
3825 ret = btrfs_next_leaf(BTRFS_I(inode)->root, src_path); in copy_items()
3890 struct btrfs_root *root, in wait_ordered_extents() argument
3896 struct btrfs_root *log = root->log_root; in wait_ordered_extents()
4032 struct inode *inode, struct btrfs_root *root, in log_one_extent() argument
4038 struct btrfs_root *log = root->log_root; in log_one_extent()
4049 ret = wait_ordered_extents(trans, inode, root, em, logged_list, in log_one_extent()
4126 struct btrfs_root *root, in btrfs_log_changed_extents() argument
4142 test_gen = root->fs_info->last_trans_committed; in btrfs_log_changed_extents()
4188 ret = log_one_extent(trans, inode, root, em, path, logged_list, in btrfs_log_changed_extents()
4238 struct btrfs_root *root, in btrfs_log_all_xattrs() argument
4253 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_all_xattrs()
4275 ret = btrfs_next_leaf(root, path); in btrfs_log_all_xattrs()
4333 struct btrfs_root *root, in btrfs_log_trailing_hole() argument
4342 struct btrfs_root *log = root->log_root; in btrfs_log_trailing_hole()
4346 if (!btrfs_fs_incompat(root->fs_info, NO_HOLES)) in btrfs_log_trailing_hole()
4353 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_trailing_hole()
4403 hole_size = ALIGN(hole_size, root->sectorsize); in btrfs_log_trailing_hole()
4509 di = btrfs_lookup_dir_item(NULL, BTRFS_I(inode)->root, in btrfs_check_ref_name_override()
4545 struct btrfs_root *root, struct inode *inode, in btrfs_log_inode() argument
4555 struct btrfs_root *log = root->log_root; in btrfs_log_inode()
4603 BTRFS_I(inode)->generation > root->fs_info->last_trans_committed) in btrfs_log_inode()
4688 ret = btrfs_search_forward(root, &min_key, in btrfs_log_inode()
4713 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_log_inode()
4806 err = btrfs_log_all_xattrs(trans, root, inode, path, dst_path); in btrfs_log_inode()
4812 err = btrfs_log_trailing_hole(trans, root, inode, path); in btrfs_log_inode()
4840 ret = btrfs_log_changed_extents(trans, root, inode, dst_path, in btrfs_log_inode()
4879 ret = log_directory_changes(trans, root, inode, path, dst_path, in btrfs_log_inode()
4916 struct btrfs_root *root; in check_parent_dirs_for_sync() local
4949 root = BTRFS_I(inode)->root; in check_parent_dirs_for_sync()
4955 btrfs_set_log_full_commit(root->fs_info, trans); in check_parent_dirs_for_sync()
5025 struct btrfs_root *root, in log_new_dir_dentries() argument
5029 struct btrfs_root *log = root->log_root; in log_new_dir_dentries()
5096 di_inode = btrfs_iget(root->fs_info->sb, &di_key, in log_new_dir_dentries()
5097 root, NULL); in log_new_dir_dentries()
5112 ret = btrfs_log_inode(trans, root, di_inode, in log_new_dir_dentries()
5159 struct btrfs_root *root = BTRFS_I(inode)->root; in btrfs_log_all_parents() local
5171 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_all_parents()
5183 ret = btrfs_next_leaf(root, path); in btrfs_log_all_parents()
5220 dir_inode = btrfs_iget(root->fs_info->sb, &inode_key, in btrfs_log_all_parents()
5221 root, NULL); in btrfs_log_all_parents()
5226 ret = btrfs_log_inode(trans, root, dir_inode, in btrfs_log_all_parents()
5247 struct btrfs_root *root, struct inode *inode, in btrfs_log_inode_parent() argument
5258 u64 last_committed = root->fs_info->last_trans_committed; in btrfs_log_inode_parent()
5264 if (btrfs_test_opt(root, NOTREELOG)) { in btrfs_log_inode_parent()
5273 if (root->fs_info->last_trans_log_full_commit > in btrfs_log_inode_parent()
5274 root->fs_info->last_trans_committed) { in btrfs_log_inode_parent()
5279 if (root != BTRFS_I(inode)->root || in btrfs_log_inode_parent()
5280 btrfs_root_refs(&root->root_item) == 0) { in btrfs_log_inode_parent()
5295 ret = start_log_trans(trans, root, ctx); in btrfs_log_inode_parent()
5299 ret = btrfs_log_inode(trans, root, inode, inode_only, start, end, ctx); in btrfs_log_inode_parent()
5371 if (root != BTRFS_I(inode)->root) in btrfs_log_inode_parent()
5375 ret = btrfs_log_inode(trans, root, inode, in btrfs_log_inode_parent()
5389 ret = log_new_dir_dentries(trans, root, orig_inode, ctx); in btrfs_log_inode_parent()
5395 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_log_inode_parent()
5400 btrfs_remove_log_ctx(root, ctx); in btrfs_log_inode_parent()
5401 btrfs_end_log_trans(root); in btrfs_log_inode_parent()
5413 struct btrfs_root *root, struct dentry *dentry, in btrfs_log_dentry_safe() argument
5421 ret = btrfs_log_inode_parent(trans, root, d_inode(dentry), parent, in btrfs_log_dentry_safe()
5640 struct btrfs_root * root = BTRFS_I(inode)->root; in btrfs_log_new_name() local
5654 root->fs_info->last_trans_committed && in btrfs_log_new_name()
5656 root->fs_info->last_trans_committed)) in btrfs_log_new_name()
5659 return btrfs_log_inode_parent(trans, root, inode, parent, 0, in btrfs_log_new_name()