Lines Matching refs:root
98 struct btrfs_root *root, struct inode *inode,
104 struct btrfs_root *root,
107 struct btrfs_root *root,
141 struct btrfs_root *root, in start_log_trans() argument
146 mutex_lock(&root->log_mutex); in start_log_trans()
148 if (root->log_root) { in start_log_trans()
149 if (btrfs_need_log_full_commit(root->fs_info, trans)) { in start_log_trans()
154 if (!root->log_start_pid) { in start_log_trans()
155 clear_bit(BTRFS_ROOT_MULTI_LOG_TASKS, &root->state); in start_log_trans()
156 root->log_start_pid = current->pid; in start_log_trans()
157 } else if (root->log_start_pid != current->pid) { in start_log_trans()
158 set_bit(BTRFS_ROOT_MULTI_LOG_TASKS, &root->state); in start_log_trans()
161 mutex_lock(&root->fs_info->tree_log_mutex); in start_log_trans()
162 if (!root->fs_info->log_root_tree) in start_log_trans()
163 ret = btrfs_init_log_root_tree(trans, root->fs_info); in start_log_trans()
164 mutex_unlock(&root->fs_info->tree_log_mutex); in start_log_trans()
168 ret = btrfs_add_log_tree(trans, root); in start_log_trans()
172 clear_bit(BTRFS_ROOT_MULTI_LOG_TASKS, &root->state); in start_log_trans()
173 root->log_start_pid = current->pid; in start_log_trans()
176 atomic_inc(&root->log_batch); in start_log_trans()
177 atomic_inc(&root->log_writers); in start_log_trans()
179 int index = root->log_transid % 2; in start_log_trans()
180 list_add_tail(&ctx->list, &root->log_ctxs[index]); in start_log_trans()
181 ctx->log_transid = root->log_transid; in start_log_trans()
185 mutex_unlock(&root->log_mutex); in start_log_trans()
194 static int join_running_log_trans(struct btrfs_root *root) in join_running_log_trans() argument
199 if (!root->log_root) in join_running_log_trans()
202 mutex_lock(&root->log_mutex); in join_running_log_trans()
203 if (root->log_root) { in join_running_log_trans()
205 atomic_inc(&root->log_writers); in join_running_log_trans()
207 mutex_unlock(&root->log_mutex); in join_running_log_trans()
216 int btrfs_pin_log_trans(struct btrfs_root *root) in btrfs_pin_log_trans() argument
220 mutex_lock(&root->log_mutex); in btrfs_pin_log_trans()
221 atomic_inc(&root->log_writers); in btrfs_pin_log_trans()
222 mutex_unlock(&root->log_mutex); in btrfs_pin_log_trans()
230 void btrfs_end_log_trans(struct btrfs_root *root) in btrfs_end_log_trans() argument
232 if (atomic_dec_and_test(&root->log_writers)) { in btrfs_end_log_trans()
236 if (waitqueue_active(&root->log_writer_wait)) in btrfs_end_log_trans()
237 wake_up(&root->log_writer_wait); in btrfs_end_log_trans()
336 struct btrfs_root *root, in overwrite_item() argument
350 if (root->root_key.objectid != BTRFS_TREE_LOG_OBJECTID) in overwrite_item()
357 ret = btrfs_search_slot(NULL, root, key, path, 0, 0); in overwrite_item()
451 ret = btrfs_insert_empty_item(trans, root, path, in overwrite_item()
461 btrfs_truncate_item(root, path, item_size, 1); in overwrite_item()
463 btrfs_extend_item(root, path, in overwrite_item()
547 static noinline struct inode *read_one_inode(struct btrfs_root *root, in read_one_inode() argument
556 inode = btrfs_iget(root->fs_info->sb, &key, root, NULL); in read_one_inode()
579 struct btrfs_root *root, in replay_one_extent() argument
610 extent_end = ALIGN(start + size, root->sectorsize); in replay_one_extent()
616 inode = read_one_inode(root, key->objectid); in replay_one_extent()
627 ret = btrfs_lookup_file_extent(trans, root, path, btrfs_ino(inode), in replay_one_extent()
659 ret = btrfs_drop_extents(trans, root, inode, start, extent_end, 1); in replay_one_extent()
669 ret = btrfs_insert_empty_item(trans, root, path, key, in replay_one_extent()
691 ret = btrfs_lookup_data_extent(root, ins.objectid, in replay_one_extent()
694 ret = btrfs_inc_extent_ref(trans, root, in replay_one_extent()
696 0, root->root_key.objectid, in replay_one_extent()
706 root, root->root_key.objectid, in replay_one_extent()
723 ret = btrfs_lookup_csums_range(root->log_root, in replay_one_extent()
784 root->fs_info->csum_root, in replay_one_extent()
789 root->fs_info->csum_root, in replay_one_extent()
801 ret = overwrite_item(trans, root, path, eb, slot, key); in replay_one_extent()
807 ret = btrfs_update_inode(trans, root, inode); in replay_one_extent()
823 struct btrfs_root *root, in drop_one_dir_item() argument
846 inode = read_one_inode(root, location.objectid); in drop_one_dir_item()
852 ret = link_to_fixup_dir(trans, root, path, location.objectid); in drop_one_dir_item()
856 ret = btrfs_unlink_inode(trans, root, dir, inode, name, name_len); in drop_one_dir_item()
860 ret = btrfs_run_delayed_items(trans, root); in drop_one_dir_item()
872 static noinline int inode_in_dir(struct btrfs_root *root, in inode_in_dir() argument
881 di = btrfs_lookup_dir_index_item(NULL, root, path, dirid, in inode_in_dir()
891 di = btrfs_lookup_dir_item(NULL, root, path, dirid, name, name_len, 0); in inode_in_dir()
969 struct btrfs_root *root, in __add_inode_ref() argument
991 ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0); in __add_inode_ref()
1030 ret = btrfs_unlink_inode(trans, root, dir, in __add_inode_ref()
1036 ret = btrfs_run_delayed_items(trans, root); in __add_inode_ref()
1056 extref = btrfs_lookup_inode_extref(NULL, root, path, name, namelen, in __add_inode_ref()
1094 victim_parent = read_one_inode(root, in __add_inode_ref()
1100 ret = btrfs_unlink_inode(trans, root, in __add_inode_ref()
1107 trans, root); in __add_inode_ref()
1127 di = btrfs_lookup_dir_index_item(trans, root, path, btrfs_ino(dir), in __add_inode_ref()
1130 ret = drop_one_dir_item(trans, root, path, dir, di); in __add_inode_ref()
1137 di = btrfs_lookup_dir_item(trans, root, path, btrfs_ino(dir), in __add_inode_ref()
1140 ret = drop_one_dir_item(trans, root, path, dir, di); in __add_inode_ref()
1198 struct btrfs_root *root, in add_inode_ref() argument
1240 dir = read_one_inode(root, parent_objectid); in add_inode_ref()
1246 inode = read_one_inode(root, inode_objectid); in add_inode_ref()
1261 dir = read_one_inode(root, parent_objectid); in add_inode_ref()
1274 if (!inode_in_dir(root, path, btrfs_ino(dir), btrfs_ino(inode), in add_inode_ref()
1285 ret = __add_inode_ref(trans, root, path, log, in add_inode_ref()
1304 btrfs_update_inode(trans, root, inode); in add_inode_ref()
1317 ret = overwrite_item(trans, root, path, eb, slot, key); in add_inode_ref()
1327 struct btrfs_root *root, u64 ino) in insert_orphan_item() argument
1331 ret = btrfs_insert_orphan_item(trans, root, ino); in insert_orphan_item()
1338 static int count_inode_extrefs(struct btrfs_root *root, in count_inode_extrefs() argument
1353 ret = btrfs_find_one_extref(root, inode_objectid, offset, path, in count_inode_extrefs()
1382 static int count_inode_refs(struct btrfs_root *root, in count_inode_refs() argument
1398 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in count_inode_refs()
1450 struct btrfs_root *root, in fixup_inode_link_count() argument
1462 ret = count_inode_refs(root, inode, path); in fixup_inode_link_count()
1468 ret = count_inode_extrefs(root, inode, path); in fixup_inode_link_count()
1478 btrfs_update_inode(trans, root, inode); in fixup_inode_link_count()
1484 ret = replay_dir_deletes(trans, root, NULL, path, in fixup_inode_link_count()
1489 ret = insert_orphan_item(trans, root, ino); in fixup_inode_link_count()
1498 struct btrfs_root *root, in fixup_inode_link_counts() argument
1509 ret = btrfs_search_slot(trans, root, &key, path, -1, 1); in fixup_inode_link_counts()
1525 ret = btrfs_del_item(trans, root, path); in fixup_inode_link_counts()
1530 inode = read_one_inode(root, key.offset); in fixup_inode_link_counts()
1536 ret = fixup_inode_link_count(trans, root, inode); in fixup_inode_link_counts()
1559 struct btrfs_root *root, in link_to_fixup_dir() argument
1567 inode = read_one_inode(root, objectid); in link_to_fixup_dir()
1575 ret = btrfs_insert_empty_item(trans, root, path, &key, 0); in link_to_fixup_dir()
1583 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()
1928 ret = btrfs_next_leaf(root, path); in find_dir_range()
1956 struct btrfs_root *root, in check_item_in_log() argument
1984 if (verify_dir_item(root, eb, di)) { in check_item_in_log()
2013 inode = read_one_inode(root, location.objectid); in check_item_in_log()
2019 ret = link_to_fixup_dir(trans, root, in check_item_in_log()
2028 ret = btrfs_unlink_inode(trans, root, dir, inode, in check_item_in_log()
2031 ret = btrfs_run_delayed_items(trans, root); in check_item_in_log()
2040 ret = btrfs_search_slot(NULL, root, dir_key, path, in check_item_in_log()
2064 struct btrfs_root *root, in replay_xattr_deletes() argument
2083 ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0); in replay_xattr_deletes()
2124 di = btrfs_lookup_xattr(trans, root, path, ino, in replay_xattr_deletes()
2132 ret = btrfs_delete_one_dir_name(trans, root, in replay_xattr_deletes()
2149 ret = btrfs_next_leaf(root, path); in replay_xattr_deletes()
2172 struct btrfs_root *root, in replay_dir_deletes() argument
2192 dir = read_one_inode(root, dirid); in replay_dir_deletes()
2219 ret = btrfs_search_slot(NULL, root, &dir_key, path, in replay_dir_deletes()
2226 ret = btrfs_next_leaf(root, path); in replay_dir_deletes()
2241 ret = check_item_in_log(trans, root, log, path, in replay_dir_deletes()
2287 struct btrfs_root *root = wc->replay_dest; in replay_one_buffer() local
2318 ret = replay_xattr_deletes(wc->trans, root, log, in replay_one_buffer()
2325 root, log, path, key.objectid, 0); in replay_one_buffer()
2329 ret = overwrite_item(wc->trans, root, path, in replay_one_buffer()
2339 ret = insert_orphan_item(wc->trans, root, in replay_one_buffer()
2345 ret = link_to_fixup_dir(wc->trans, root, in replay_one_buffer()
2353 ret = replay_one_dir_item(wc->trans, root, path, in replay_one_buffer()
2364 ret = overwrite_item(wc->trans, root, path, in replay_one_buffer()
2370 ret = add_inode_ref(wc->trans, root, log, path, in replay_one_buffer()
2376 ret = replay_one_extent(wc->trans, root, path, in replay_one_buffer()
2381 ret = replay_one_dir_item(wc->trans, root, path, in replay_one_buffer()
2392 struct btrfs_root *root, in walk_down_log_tree() argument
2421 blocksize = root->nodesize; in walk_down_log_tree()
2426 next = btrfs_find_create_tree_block(root, bytenr); in walk_down_log_tree()
2431 ret = wc->process_func(root, next, wc, ptr_gen); in walk_down_log_tree()
2448 clean_tree_block(trans, root->fs_info, in walk_down_log_tree()
2459 ret = btrfs_free_and_pin_reserved_extent(root, in walk_down_log_tree()
2493 struct btrfs_root *root, in walk_up_log_tree() argument
2511 if (path->nodes[*level] == root->node) in walk_up_log_tree()
2517 ret = wc->process_func(root, path->nodes[*level], wc, in walk_up_log_tree()
2530 clean_tree_block(trans, root->fs_info, in walk_up_log_tree()
2540 ret = btrfs_free_and_pin_reserved_extent(root, in walk_up_log_tree()
2652 static void wait_log_commit(struct btrfs_root *root, int transid) in wait_log_commit() argument
2663 prepare_to_wait(&root->log_commit_wait[index], in wait_log_commit()
2665 mutex_unlock(&root->log_mutex); in wait_log_commit()
2667 if (root->log_transid_committed < transid && in wait_log_commit()
2668 atomic_read(&root->log_commit[index])) in wait_log_commit()
2671 finish_wait(&root->log_commit_wait[index], &wait); in wait_log_commit()
2672 mutex_lock(&root->log_mutex); in wait_log_commit()
2673 } while (root->log_transid_committed < transid && in wait_log_commit()
2674 atomic_read(&root->log_commit[index])); in wait_log_commit()
2677 static void wait_for_writer(struct btrfs_root *root) in wait_for_writer() argument
2681 while (atomic_read(&root->log_writers)) { in wait_for_writer()
2682 prepare_to_wait(&root->log_writer_wait, in wait_for_writer()
2684 mutex_unlock(&root->log_mutex); in wait_for_writer()
2685 if (atomic_read(&root->log_writers)) in wait_for_writer()
2687 finish_wait(&root->log_writer_wait, &wait); in wait_for_writer()
2688 mutex_lock(&root->log_mutex); in wait_for_writer()
2692 static inline void btrfs_remove_log_ctx(struct btrfs_root *root, in btrfs_remove_log_ctx() argument
2698 mutex_lock(&root->log_mutex); in btrfs_remove_log_ctx()
2700 mutex_unlock(&root->log_mutex); in btrfs_remove_log_ctx()
2707 static inline void btrfs_remove_all_log_ctxs(struct btrfs_root *root, in btrfs_remove_all_log_ctxs() argument
2713 list_for_each_entry_safe(ctx, safe, &root->log_ctxs[index], list) { in btrfs_remove_all_log_ctxs()
2718 INIT_LIST_HEAD(&root->log_ctxs[index]); in btrfs_remove_all_log_ctxs()
2734 struct btrfs_root *root, struct btrfs_log_ctx *ctx) in btrfs_sync_log() argument
2740 struct btrfs_root *log = root->log_root; in btrfs_sync_log()
2741 struct btrfs_root *log_root_tree = root->fs_info->log_root_tree; in btrfs_sync_log()
2746 mutex_lock(&root->log_mutex); in btrfs_sync_log()
2748 if (root->log_transid_committed >= log_transid) { in btrfs_sync_log()
2749 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2754 if (atomic_read(&root->log_commit[index1])) { in btrfs_sync_log()
2755 wait_log_commit(root, log_transid); in btrfs_sync_log()
2756 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2759 ASSERT(log_transid == root->log_transid); in btrfs_sync_log()
2760 atomic_set(&root->log_commit[index1], 1); in btrfs_sync_log()
2763 if (atomic_read(&root->log_commit[(index1 + 1) % 2])) in btrfs_sync_log()
2764 wait_log_commit(root, log_transid - 1); in btrfs_sync_log()
2767 int batch = atomic_read(&root->log_batch); in btrfs_sync_log()
2769 if (!btrfs_test_opt(root, SSD) && in btrfs_sync_log()
2770 test_bit(BTRFS_ROOT_MULTI_LOG_TASKS, &root->state)) { in btrfs_sync_log()
2771 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2773 mutex_lock(&root->log_mutex); in btrfs_sync_log()
2775 wait_for_writer(root); in btrfs_sync_log()
2776 if (batch == atomic_read(&root->log_batch)) in btrfs_sync_log()
2781 if (btrfs_need_log_full_commit(root->fs_info, trans)) { in btrfs_sync_log()
2784 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2800 btrfs_abort_transaction(trans, root, ret); in btrfs_sync_log()
2802 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_sync_log()
2803 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2809 root->log_transid++; in btrfs_sync_log()
2810 log->log_transid = root->log_transid; in btrfs_sync_log()
2811 root->log_start_pid = 0; in btrfs_sync_log()
2823 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2851 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_sync_log()
2854 btrfs_abort_transaction(trans, root, ret); in btrfs_sync_log()
2900 if (btrfs_need_log_full_commit(root->fs_info, trans)) { in btrfs_sync_log()
2914 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_sync_log()
2915 btrfs_abort_transaction(trans, root, ret); in btrfs_sync_log()
2926 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_sync_log()
2933 btrfs_set_super_log_root(root->fs_info->super_for_commit, in btrfs_sync_log()
2935 btrfs_set_super_log_root_level(root->fs_info->super_for_commit, in btrfs_sync_log()
2948 ret = write_ctree_super(trans, root->fs_info->tree_root, 1); in btrfs_sync_log()
2950 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_sync_log()
2951 btrfs_abort_transaction(trans, root, ret); in btrfs_sync_log()
2955 mutex_lock(&root->log_mutex); in btrfs_sync_log()
2956 if (root->last_log_commit < log_transid) in btrfs_sync_log()
2957 root->last_log_commit = log_transid; in btrfs_sync_log()
2958 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2977 mutex_lock(&root->log_mutex); in btrfs_sync_log()
2978 btrfs_remove_all_log_ctxs(root, index1, ret); in btrfs_sync_log()
2979 root->log_transid_committed++; in btrfs_sync_log()
2980 atomic_set(&root->log_commit[index1], 0); in btrfs_sync_log()
2981 mutex_unlock(&root->log_mutex); in btrfs_sync_log()
2989 if (waitqueue_active(&root->log_commit_wait[index1])) in btrfs_sync_log()
2990 wake_up(&root->log_commit_wait[index1]); in btrfs_sync_log()
3037 int btrfs_free_log(struct btrfs_trans_handle *trans, struct btrfs_root *root) in btrfs_free_log() argument
3039 if (root->log_root) { in btrfs_free_log()
3040 free_log_tree(trans, root->log_root); in btrfs_free_log()
3041 root->log_root = NULL; in btrfs_free_log()
3078 struct btrfs_root *root, in btrfs_del_dir_entries_in_log() argument
3093 ret = join_running_log_trans(root); in btrfs_del_dir_entries_in_log()
3099 log = root->log_root; in btrfs_del_dir_entries_in_log()
3174 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_del_dir_entries_in_log()
3178 btrfs_abort_transaction(trans, root, err); in btrfs_del_dir_entries_in_log()
3181 btrfs_end_log_trans(root); in btrfs_del_dir_entries_in_log()
3188 struct btrfs_root *root, in btrfs_del_inode_ref_in_log() argument
3199 ret = join_running_log_trans(root); in btrfs_del_inode_ref_in_log()
3202 log = root->log_root; in btrfs_del_inode_ref_in_log()
3209 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_del_inode_ref_in_log()
3212 btrfs_abort_transaction(trans, root, ret); in btrfs_del_inode_ref_in_log()
3213 btrfs_end_log_trans(root); in btrfs_del_inode_ref_in_log()
3257 struct btrfs_root *root, struct inode *inode, in log_dir_items() argument
3264 struct btrfs_root *log = root->log_root; in log_dir_items()
3274 log = root->log_root; in log_dir_items()
3280 ret = btrfs_search_forward(root, &min_key, path, trans->transid); in log_dir_items()
3291 ret = btrfs_search_slot(NULL, root, &min_key, path, 0, 0); in log_dir_items()
3296 ret = btrfs_previous_item(root, path, ino, key_type); in log_dir_items()
3314 ret = btrfs_previous_item(root, path, ino, key_type); in log_dir_items()
3340 ret = btrfs_search_slot(NULL, root, &min_key, path, 0, 0); in log_dir_items()
3410 ret = btrfs_next_leaf(root, path); in log_dir_items()
3465 struct btrfs_root *root, struct inode *inode, in log_directory_changes() argument
3479 ret = log_dir_items(trans, root, inode, path, in log_directory_changes()
3636 struct btrfs_root *log = BTRFS_I(inode)->root->log_root; in copy_items()
3793 ret = btrfs_prev_leaf(BTRFS_I(inode)->root, src_path); in copy_items()
3835 ret = btrfs_search_slot(NULL, BTRFS_I(inode)->root, &first_key, in copy_items()
3856 ret = btrfs_next_leaf(BTRFS_I(inode)->root, src_path); in copy_items()
3922 struct btrfs_root *root, in wait_ordered_extents() argument
3928 struct btrfs_root *log = root->log_root; in wait_ordered_extents()
4064 struct inode *inode, struct btrfs_root *root, in log_one_extent() argument
4070 struct btrfs_root *log = root->log_root; in log_one_extent()
4081 ret = wait_ordered_extents(trans, inode, root, em, logged_list, in log_one_extent()
4158 struct btrfs_root *root, in btrfs_log_changed_extents() argument
4174 test_gen = root->fs_info->last_trans_committed; in btrfs_log_changed_extents()
4220 ret = log_one_extent(trans, inode, root, em, path, logged_list, in btrfs_log_changed_extents()
4270 struct btrfs_root *root, in btrfs_log_all_xattrs() argument
4285 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_all_xattrs()
4307 ret = btrfs_next_leaf(root, path); in btrfs_log_all_xattrs()
4365 struct btrfs_root *root, in btrfs_log_trailing_hole() argument
4374 struct btrfs_root *log = root->log_root; in btrfs_log_trailing_hole()
4378 if (!btrfs_fs_incompat(root->fs_info, NO_HOLES)) in btrfs_log_trailing_hole()
4385 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_trailing_hole()
4430 hole_size = ALIGN(hole_size, root->sectorsize); in btrfs_log_trailing_hole()
4536 di = btrfs_lookup_dir_item(NULL, BTRFS_I(inode)->root, in btrfs_check_ref_name_override()
4572 struct btrfs_root *root, struct inode *inode, in btrfs_log_inode() argument
4582 struct btrfs_root *log = root->log_root; in btrfs_log_inode()
4631 BTRFS_I(inode)->generation > root->fs_info->last_trans_committed) in btrfs_log_inode()
4716 ret = btrfs_search_forward(root, &min_key, in btrfs_log_inode()
4741 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_log_inode()
4834 err = btrfs_log_all_xattrs(trans, root, inode, path, dst_path); in btrfs_log_inode()
4841 err = btrfs_log_trailing_hole(trans, root, inode, path); in btrfs_log_inode()
4851 err = btrfs_log_all_xattrs(trans, root, inode, path, in btrfs_log_inode()
4874 ret = btrfs_log_changed_extents(trans, root, inode, dst_path, in btrfs_log_inode()
4913 ret = log_directory_changes(trans, root, inode, path, dst_path, in btrfs_log_inode()
4950 struct btrfs_root *root; in check_parent_dirs_for_sync() local
4983 root = BTRFS_I(inode)->root; in check_parent_dirs_for_sync()
4989 btrfs_set_log_full_commit(root->fs_info, trans); in check_parent_dirs_for_sync()
5059 struct btrfs_root *root, in log_new_dir_dentries() argument
5063 struct btrfs_root *log = root->log_root; in log_new_dir_dentries()
5130 di_inode = btrfs_iget(root->fs_info->sb, &di_key, in log_new_dir_dentries()
5131 root, NULL); in log_new_dir_dentries()
5146 ret = btrfs_log_inode(trans, root, di_inode, in log_new_dir_dentries()
5193 struct btrfs_root *root = BTRFS_I(inode)->root; in btrfs_log_all_parents() local
5205 ret = btrfs_search_slot(NULL, root, &key, path, 0, 0); in btrfs_log_all_parents()
5217 ret = btrfs_next_leaf(root, path); in btrfs_log_all_parents()
5254 dir_inode = btrfs_iget(root->fs_info->sb, &inode_key, in btrfs_log_all_parents()
5255 root, NULL); in btrfs_log_all_parents()
5284 ret = btrfs_log_inode(trans, root, dir_inode, in btrfs_log_all_parents()
5305 struct btrfs_root *root, struct inode *inode, in btrfs_log_inode_parent() argument
5316 u64 last_committed = root->fs_info->last_trans_committed; in btrfs_log_inode_parent()
5322 if (btrfs_test_opt(root, NOTREELOG)) { in btrfs_log_inode_parent()
5331 if (root->fs_info->last_trans_log_full_commit > in btrfs_log_inode_parent()
5332 root->fs_info->last_trans_committed) { in btrfs_log_inode_parent()
5337 if (root != BTRFS_I(inode)->root || in btrfs_log_inode_parent()
5338 btrfs_root_refs(&root->root_item) == 0) { in btrfs_log_inode_parent()
5353 ret = start_log_trans(trans, root, ctx); in btrfs_log_inode_parent()
5357 ret = btrfs_log_inode(trans, root, inode, inode_only, start, end, ctx); in btrfs_log_inode_parent()
5429 if (root != BTRFS_I(inode)->root) in btrfs_log_inode_parent()
5433 ret = btrfs_log_inode(trans, root, inode, in btrfs_log_inode_parent()
5447 ret = log_new_dir_dentries(trans, root, orig_inode, ctx); in btrfs_log_inode_parent()
5453 btrfs_set_log_full_commit(root->fs_info, trans); in btrfs_log_inode_parent()
5458 btrfs_remove_log_ctx(root, ctx); in btrfs_log_inode_parent()
5459 btrfs_end_log_trans(root); in btrfs_log_inode_parent()
5471 struct btrfs_root *root, struct dentry *dentry, in btrfs_log_dentry_safe() argument
5479 ret = btrfs_log_inode_parent(trans, root, d_inode(dentry), parent, in btrfs_log_dentry_safe()
5584 struct btrfs_root *root = wc.replay_dest; in btrfs_recover_log_trees() local
5596 ret = btrfs_find_highest_objectid(root, in btrfs_recover_log_trees()
5597 &root->highest_objectid); in btrfs_recover_log_trees()
5730 struct btrfs_root * root = BTRFS_I(inode)->root; in btrfs_log_new_name() local
5744 root->fs_info->last_trans_committed && in btrfs_log_new_name()
5746 root->fs_info->last_trans_committed)) in btrfs_log_new_name()
5749 return btrfs_log_inode_parent(trans, root, inode, parent, 0, in btrfs_log_new_name()