Lines Matching refs:log_root_tree
154 if (!fs_info->log_root_tree) { in start_log_trans()
3021 ret = btrfs_insert_root(trans, fs_info->log_root_tree, in update_log_root()
3024 ret = btrfs_update_root(trans, fs_info->log_root_tree, in update_log_root()
3117 struct btrfs_root *log_root_tree = fs_info->log_root_tree; in btrfs_sync_log() local
3223 if (!log_root_tree->node) { in btrfs_sync_log()
3224 ret = btrfs_alloc_log_tree_node(trans, log_root_tree); in btrfs_sync_log()
3235 mutex_lock(&log_root_tree->log_mutex); in btrfs_sync_log()
3237 index2 = log_root_tree->log_transid % 2; in btrfs_sync_log()
3238 list_add_tail(&root_log_ctx.list, &log_root_tree->log_ctxs[index2]); in btrfs_sync_log()
3239 root_log_ctx.log_transid = log_root_tree->log_transid; in btrfs_sync_log()
3256 mutex_unlock(&log_root_tree->log_mutex); in btrfs_sync_log()
3260 mutex_unlock(&log_root_tree->log_mutex); in btrfs_sync_log()
3265 if (log_root_tree->log_transid_committed >= root_log_ctx.log_transid) { in btrfs_sync_log()
3268 mutex_unlock(&log_root_tree->log_mutex); in btrfs_sync_log()
3274 if (atomic_read(&log_root_tree->log_commit[index2])) { in btrfs_sync_log()
3277 wait_log_commit(log_root_tree, in btrfs_sync_log()
3279 mutex_unlock(&log_root_tree->log_mutex); in btrfs_sync_log()
3284 ASSERT(root_log_ctx.log_transid == log_root_tree->log_transid); in btrfs_sync_log()
3285 atomic_set(&log_root_tree->log_commit[index2], 1); in btrfs_sync_log()
3287 if (atomic_read(&log_root_tree->log_commit[(index2 + 1) % 2])) { in btrfs_sync_log()
3288 wait_log_commit(log_root_tree, in btrfs_sync_log()
3299 mutex_unlock(&log_root_tree->log_mutex); in btrfs_sync_log()
3305 &log_root_tree->dirty_log_pages, in btrfs_sync_log()
3316 mutex_unlock(&log_root_tree->log_mutex); in btrfs_sync_log()
3321 mutex_unlock(&log_root_tree->log_mutex); in btrfs_sync_log()
3326 ret = btrfs_wait_tree_log_extents(log_root_tree, in btrfs_sync_log()
3330 mutex_unlock(&log_root_tree->log_mutex); in btrfs_sync_log()
3334 log_root_start = log_root_tree->node->start; in btrfs_sync_log()
3335 log_root_level = btrfs_header_level(log_root_tree->node); in btrfs_sync_log()
3336 log_root_tree->log_transid++; in btrfs_sync_log()
3337 mutex_unlock(&log_root_tree->log_mutex); in btrfs_sync_log()
3393 mutex_lock(&log_root_tree->log_mutex); in btrfs_sync_log()
3394 btrfs_remove_all_log_ctxs(log_root_tree, index2, ret); in btrfs_sync_log()
3396 log_root_tree->log_transid_committed++; in btrfs_sync_log()
3397 atomic_set(&log_root_tree->log_commit[index2], 0); in btrfs_sync_log()
3398 mutex_unlock(&log_root_tree->log_mutex); in btrfs_sync_log()
3405 cond_wake_up(&log_root_tree->log_commit_wait[index2]); in btrfs_sync_log()
3465 if (fs_info->log_root_tree) { in btrfs_free_log_root_tree()
3466 free_log_tree(trans, fs_info->log_root_tree); in btrfs_free_log_root_tree()
3467 fs_info->log_root_tree = NULL; in btrfs_free_log_root_tree()
6514 int btrfs_recover_log_trees(struct btrfs_root *log_root_tree) in btrfs_recover_log_trees() argument
6522 struct btrfs_fs_info *fs_info = log_root_tree->fs_info; in btrfs_recover_log_trees()
6543 ret = walk_log_tree(trans, log_root_tree, &wc); in btrfs_recover_log_trees()
6555 ret = btrfs_search_slot(NULL, log_root_tree, &key, path, 0, 0); in btrfs_recover_log_trees()
6572 log = btrfs_read_tree_root(log_root_tree, &found_key); in btrfs_recover_log_trees()
6673 log_root_tree->log_root = NULL; in btrfs_recover_log_trees()
6675 btrfs_put_root(log_root_tree); in btrfs_recover_log_trees()