| /fs/bcachefs/ |
| A D | btree_iter.c | 1263 btree_path_copy(trans, trans->paths + new, trans->paths + src); in btree_path_clone() 1481 trans->nr_updates, trans->fn, trans->journal_res.seq); in bch2_trans_updates_to_text() 3077 trans->paths[trans->sorted[i]].sorted_idx = i; in btree_path_list_remove() 3266 p = trans->mem + trans->mem_top; in __bch2_trans_kmalloc() 3327 EBUG_ON(!trans->mem || !trans->mem_bytes); in bch2_trans_begin() 3443 memset(trans, 0, sizeof(*trans)); in __bch2_trans_get() 3476 trans->nr_paths = ARRAY_SIZE(trans->_paths); in __bch2_trans_get() 3478 trans->sorted = trans->_sorted; in __bch2_trans_get() 3479 trans->paths = trans->_paths; in __bch2_trans_get() 3480 trans->updates = trans->_updates; in __bch2_trans_get() [all …]
|
| A D | btree_trans_commit.c | 78 insert_l(trans, &i[0])->b == insert_l(trans, &i[-1])->b; in same_leaf_as_prev() 84 return i + 1 < trans->updates + trans->nr_updates && in same_leaf_as_next() 85 insert_l(trans, &i[0])->b == insert_l(trans, &i[1])->b; in same_leaf_as_next() 112 bch2_btree_node_unlock_write(trans, trans->paths + i->path, insert_l(trans, i)->b); in trans_lock_write_fail() 127 if (bch2_btree_node_lock_write(trans, trans->paths + i->path, &insert_l(trans, i)->b->c)) in bch2_trans_lock_write() 131 bch2_btree_node_prep_for_write(trans, trans->paths + i->path, insert_l(trans, i)->b); in bch2_trans_lock_write() 145 trans->paths + i->path, insert_l(trans, i)->b); in bch2_trans_unlock_updates_write() 355 trans->journal_u64s, flags, trans); in bch2_trans_journal_res_get() 372 trans->fn, strlen(trans->fn), 0); in journal_transaction_name() 770 btree_trans_subbuf_base(trans, &trans->accounting), in bch2_trans_commit_write_locked() [all …]
|
| A D | btree_locking.c | 59 struct btree_trans *trans; member 123 .trans = trans, in __lock_graph_down() 131 closure_get(&trans->ref); in lock_graph_down() 205 struct btree_trans *trans = i->trans; in break_cycle_fail() local 264 if (i->trans == trans) { in lock_graph_descend() 303 if (trans->lock_must_abort && !trans->lock_may_not_fail) { in bch2_check_for_deadlock() 388 if (trans == top->trans || in bch2_check_for_deadlock() 724 if (trans->restarted) in __bch2_btree_path_downgrade() 756 if (trans->restarted) in bch2_trans_downgrade() 894 BUG_ON(path->should_be_locked && trans->locked && !trans->restarted); in __bch2_btree_path_verify_locks() [all …]
|
| A D | btree_update.c | 39 struct bch_fs *c = trans->c; in extent_front_merge() 74 struct bch_fs *c = trans->c; in extent_back_merge() 376 EBUG_ON(trans->nr_updates >= trans->nr_paths); in bch2_trans_update_by_path() 401 for (i = trans->updates; i < trans->updates + trans->nr_updates; i++) { in bch2_trans_update_by_path() 407 bool overwrite = !cmp && i < trans->updates + trans->nr_updates; in bch2_trans_update_by_path() 419 array_insert_item(trans->updates, trans->nr_updates, in bch2_trans_update_by_path() 436 __btree_path_get(trans, trans->paths + i->path, true); in bch2_trans_update_by_path() 483 trace_and_count(trans->c, trans_restart_key_cache_raced, trans, _RET_IP_); in bch2_trans_update_get_key_cache() 487 btree_path_set_should_be_locked(trans, trans->paths + iter->key_cache_path); in bch2_trans_update_get_key_cache() 609 h->next = trans->hooks; in bch2_trans_commit_hook() [all …]
|
| A D | btree_iter.h | 39 EBUG_ON(path - trans->paths >= trans->nr_paths); in __btree_path_put() 40 EBUG_ON(!test_bit(path - trans->paths, trans->paths_allocated)); in __btree_path_put() 53 BUG_ON(path->should_be_locked && trans->locked && !trans->restarted); in btree_path_set_dirty() 146 ? trans->paths + trans->sorted[idx] in next_btree_path() 155 ? trans->paths + trans->sorted[idx - 1] in prev_btree_path() 343 if (trans->restarted || !trans->locked) in bch2_trans_verify_not_unlocked_or_in_restart() 379 trace_and_count(trans->c, trans_restart_injected, trans, ip); in trans_maybe_inject_restart() 580 if (likely(trans->mem_top + size <= trans->mem_bytes)) { in bch2_trans_kmalloc_nomemzero_ip() 581 void *p = trans->mem + trans->mem_top; in bch2_trans_kmalloc_nomemzero_ip() 597 if (likely(trans->mem_top + size <= trans->mem_bytes)) { in bch2_trans_kmalloc_ip() [all …]
|
| A D | btree_locking.h | 27 return trans->fn_idx < ARRAY_SIZE(trans->c->btree_transaction_stats) in btree_trans_stats() 28 ? &trans->c->btree_transaction_stats[trans->fn_idx] in btree_trans_stats() 205 if (!trans->locked) { in trans_set_locked() 207 trans->locked = true; in trans_set_locked() 208 trans->last_unlock_ip = 0; in trans_set_locked() 217 if (trans->locked) { in trans_set_unlocked() 219 trans->locked = false; in trans_set_unlocked() 222 if (!trans->pf_memalloc_nofs) in trans_set_unlocked() 234 trans->lock_must_abort = false; in __btree_node_lock_nopath() 235 trans->locking = b; in __btree_node_lock_nopath() [all …]
|
| A D | btree_update.h | 157 return btree_trans_subbuf_base(trans, &trans->journal_entries); in btree_trans_journal_entries_start() 162 return btree_trans_subbuf_top(trans, &trans->journal_entries); in btree_trans_journal_entries_top() 168 return bch2_trans_subbuf_alloc(trans, &trans->journal_entries, u64s); in bch2_trans_jset_entry_alloc() 238 trans->disk_res = disk_res; in bch2_trans_commit() 262 trans_for_each_update(trans, i) in bch2_trans_reset_updates() 265 trans->nr_updates = 0; in bch2_trans_reset_updates() 266 trans->journal_entries.u64s = 0; in bch2_trans_reset_updates() 268 trans->accounting.u64s = 0; in bch2_trans_reset_updates() 269 trans->accounting.size = 0; in bch2_trans_reset_updates() 270 trans->hooks = NULL; in bch2_trans_reset_updates() [all …]
|
| A D | io_misc.c | 31 struct bch_fs *c = trans->c; in bch2_extent_fallocate() 118 lockrestart_do(trans, in bch2_extent_fallocate() 142 struct bch_fs *c = trans->c; in bch2_fpunch_snapshot() 172 struct bch_fs *c = trans->c; in bch2_fpunch_at() 188 bch2_trans_begin(trans); in bch2_fpunch_at() 236 bch2_trans_put(trans); in bch2_fpunch() 276 struct bch_fs *c = trans->c; in __bch2_resume_logged_op_truncate() 330 bch2_trans_put(trans); in bch2_truncate() 387 struct bch_fs *c = trans->c; in __bch2_resume_logged_op_finsert() 448 bch2_trans_begin(trans); in __bch2_resume_logged_op_finsert() [all …]
|
| A D | subvolume.c | 49 struct bch_fs *c = trans->c; in check_subvol() 101 trans, subvol_children_not_set, in check_subvol() 118 trans, subvol_root_wrong_bi_subvol, in check_subvol() 191 check_subvol(trans, &iter, k))); in bch2_check_subvols() 208 trans, subvol_children_bad, in check_subvol_child() 310 bch2_trans_iter_exit(trans, &iter); in bch2_subvol_has_children() 381 bch2_trans_iter_exit(trans, &iter); in __bch2_subvolume_get_snapshot() 427 return lockrestart_do(trans, in bch2_subvolumes_reparent() 549 struct bch_fs *c = trans->c; in bch2_subvolume_wait_for_pagecache_and_delete_hook() 606 struct bch_fs *c = trans->c; in bch2_subvolume_create() [all …]
|
| A D | namei.c | 38 struct bch_fs *c = trans->c; in bch2_create_trans() 208 struct bch_fs *c = trans->c; in bch2_link_trans() 267 struct bch_fs *c = trans->c; in bch2_unlink_trans() 394 bch2_trans_iter_exit(trans, &iter); in subvol_update_parent() 407 struct bch_fs *c = trans->c; in bch2_rename_trans() 437 ret = bch2_dirent_rename(trans, in bch2_rename_trans() 729 struct bch_fs *c = trans->c; in bch2_check_dirent_inode_dirent() 849 struct bch_fs *c = trans->c; in __bch2_check_dirent_target() 858 trans, dirent_d_type_wrong, in __bch2_check_dirent_target() 916 bch2_trans_iter_exit(trans, &iter); in bch2_propagate_has_case_insensitive() [all …]
|
| A D | btree_update_interior.c | 1679 bch2_btree_path_level_init(trans, trans->paths + path1, n1); in btree_split() 1773 bch2_btree_node_free_inmem(trans, trans->paths + path, b); in btree_split() 1776 bch2_trans_node_add(trans, trans->paths + path, n3); in btree_split() 1778 bch2_trans_node_add(trans, trans->paths + path2, n2); in btree_split() 1779 bch2_trans_node_add(trans, trans->paths + path1, n1); in btree_split() 1788 __bch2_btree_path_unlock(trans, trans->paths + path2); in btree_split() 1792 __bch2_btree_path_unlock(trans, trans->paths + path1); in btree_split() 1921 as = bch2_btree_update_start(trans, trans->paths + path, in bch2_btree_split_leaf() 2176 bch2_btree_node_free_inmem(trans, trans->paths + path, b); in __bch2_foreground_maybe_merge() 2179 bch2_trans_node_add(trans, trans->paths + path, n); in __bch2_foreground_maybe_merge() [all …]
|
| A D | backpointers.c | 110 struct bch_fs *c = trans->c; in backpointer_mod_err() 210 struct bch_fs *c = trans->c; in backpointer_target_not_found() 277 struct bch_fs *c = trans->c; in __bch2_backpointer_get_node() 316 struct bch_fs *c = trans->c; in __bch2_backpointer_get_key() 388 struct bch_fs *c = trans->c; in bch2_check_backpointer_has_valid_bucket() 470 struct bch_fs *c = trans->c; in check_extent_checksum() 542 struct bch_fs *c = trans->c; in check_bp_exists() 676 struct bch_fs *c = trans->c; in check_extent_to_backpointers() 721 struct bch_fs *c = trans->c; in check_btree_root_to_backpointers() 1172 bch2_trans_put(trans); in bch2_check_extents_to_backpointers() [all …]
|
| A D | fsck.c | 168 struct bch_fs *c = trans->c; in lookup_lostfound() 368 struct bch_fs *c = trans->c; in reattach_inode() 530 struct bch_fs *c = trans->c; in remove_backpointer() 543 struct bch_fs *c = trans->c; in reattach_subvol() 565 struct bch_fs *c = trans->c; in reconstruct_subvol() 644 struct bch_fs *c = trans->c; in reconstruct_inode() 843 struct bch_fs *c = trans->c; in get_inodes_all_snapshots() 879 struct bch_fs *c = trans->c; in get_visible_inodes() 912 struct bch_fs *c = trans->c; in lookup_inode_for_snapshot() 2045 lockrestart_do(trans, in check_subdir_count_notnested() [all …]
|
| A D | tests.c | 69 bch2_trans_put(trans); in test_delete() 93 bch2_trans_unlock(trans); in test_delete_written() 104 bch2_trans_put(trans); in test_delete_written() 361 bch2_trans_put(trans); in test_peek_end() 383 bch2_trans_put(trans); in test_peek_end_extents() 500 bch2_trans_put(trans); in test_snapshot_filter() 561 bch2_trans_put(trans); in rand_insert() 593 bch2_trans_put(trans); in rand_insert_multi() 611 lockrestart_do(trans, bkey_err(k = bch2_btree_iter_peek(trans, &iter))); in rand_lookup() 618 bch2_trans_put(trans); in rand_lookup() [all …]
|
| A D | inode.c | 483 bch_err_fn(trans->c, ret); in bch2_fsck_write_inode() 694 struct bch_fs *c = trans->c; in bch2_bkey_get_iter_snapshot_parent() 1090 bch2_trans_begin(trans); in bch2_inode_delete_keys() 1134 ret = lockrestart_do(trans, may_delete_deleted_inum(trans, inum)); in bch2_inode_rm() 1152 bch2_trans_begin(trans); in bch2_inode_rm() 1186 bch2_trans_put(trans); in bch2_inode_rm() 1254 int ret = lockrestart_do(trans, bch2_inode_find_by_inum_trans(trans, inum, &inode)); in bch2_inum_opts_get() 1327 bch2_trans_begin(trans); in __bch2_inode_rm_snapshot() 1375 ret = lockrestart_do(trans, in delete_ancestor_snapshot_inodes() 1387 ret = lockrestart_do(trans, bch2_inode_or_descendents_is_open(trans, pos)); in delete_ancestor_snapshot_inodes() [all …]
|
| A D | migrate.c | 46 struct bch_fs *c = trans->c; in drop_btree_ptrs() 66 struct bch_fs *c = trans->c; in bch2_dev_usrdata_drop_key() 114 bch2_trans_iter_exit(trans, &iter); in bch2_dev_btree_drop_key() 140 bch2_trans_put(trans); in bch2_dev_usrdata_drop() 149 struct btree_trans *trans; in bch2_dev_metadata_drop() local 161 trans = bch2_trans_get(c); in bch2_dev_metadata_drop() 170 while (bch2_trans_begin(trans), in bch2_dev_metadata_drop() 192 bch2_trans_iter_exit(trans, &iter); in bch2_dev_metadata_drop() 202 bch2_trans_put(trans); in bch2_dev_metadata_drop() 237 bch2_trans_iter_exit(trans, &iter); in data_drop_bp() [all …]
|
| A D | str_hash.c | 29 bch2_trans_iter_exit(trans, &iter); in bch2_dirent_has_target() 41 struct bch_fs *c = trans->c; in bch2_fsck_rename_dirent() 125 struct bch_fs *c = trans->c; in bch2_repair_inode_hash_info() 175 ret = __bch2_fsck_write_inode(trans, &inode); in bch2_repair_inode_hash_info() 211 bch2_trans_iter_exit(trans, &iter); in bch2_repair_inode_hash_info() 246 struct bch_fs *c = trans->c; in bch2_str_hash_repair_key() 252 s = bch2_trans_kmalloc(trans, sizeof(*s)); in bch2_str_hash_repair_key() 333 bch2_trans_iter_exit(trans, dup_iter); in bch2_str_hash_repair_key() 347 struct bch_fs *c = trans->c; in __bch2_str_hash_check_key() 377 bch2_trans_iter_exit(trans, &iter); in __bch2_str_hash_check_key() [all …]
|
| A D | alloc_background.c | 503 (void *) k.v < trans->mem + trans->mem_top) { in bch2_trans_start_alloc_update() 612 bch2_trans_put(trans); in bch2_bucket_gens_init() 683 bch2_trans_put(trans); in bch2_alloc_read() 759 trans, alloc_k, set, in bch2_bucket_do_index() 1594 bch2_trans_begin(trans); in bch2_check_alloc_info() 1661 bch2_trans_begin(trans); in bch2_check_alloc_info() 1693 bch2_trans_put(trans); in bch2_check_alloc_info() 2054 bch2_trans_put(trans); in bch2_do_discards_fast_work() 2251 bch2_trans_begin(trans); in bch2_do_invalidates_work() 2271 bch2_trans_put(trans); in bch2_do_invalidates_work() [all …]
|
| A D | trace.h | 76 TP_ARGS(trans, str), 122 TP_ARGS(trans, b), 164 TP_ARGS(trans), 537 TP_ARGS(trans) 542 TP_ARGS(trans) 547 TP_ARGS(trans) 552 TP_ARGS(trans) 559 TP_ARGS(trans, b) 584 TP_ARGS(trans, b) 589 TP_ARGS(trans, b) [all …]
|
| A D | snapshot.c | 300 struct bch_fs *c = trans->c; in __bch2_mark_snapshot() 436 struct bch_fs *c = trans->c; in bch2_snapshot_tree_master_subvol() 480 struct bch_fs *c = trans->c; in check_snapshot_tree() 649 struct bch_fs *c = trans->c; in snapshot_tree_ptr_repair() 702 struct bch_fs *c = trans->c; in check_snapshot() 808 trans, snapshot_bad_depth, in check_snapshot() 864 struct bch_fs *c = trans->c; in check_snapshot_exists() 1026 bch2_trans_put(trans); in bch2_reconstruct_snapshots() 1037 struct bch_fs *c = trans->c; in __bch2_check_key_has_snapshot() 1854 ret = commit_do(trans, NULL, NULL, 0, bch2_trans_log_msg(trans, &buf)); in __bch2_delete_dead_snapshots() [all …]
|
| A D | rebalance.c | 341 struct bch_fs *c = trans->c; in next_rebalance_extent() 413 struct btree_trans *trans = ctxt->trans; in do_rebalance_extent() local 414 struct bch_fs *c = trans->c; in do_rebalance_extent() 462 struct btree_trans *trans = ctxt->trans; in do_rebalance_scan() local 463 struct bch_fs *c = trans->c; in do_rebalance_scan() 540 struct btree_trans *trans = ctxt->trans; in do_rebalance() local 541 struct bch_fs *c = trans->c; in do_rebalance() 548 bch2_trans_begin(trans); in do_rebalance() 567 bch2_trans_begin(trans); in do_rebalance() 876 bch2_trans_begin(trans); in bch2_check_rebalance_work() [all …]
|
| A D | btree_key_cache.c | 127 EBUG_ON(!trans->srcu_held); in bkey_cached_free() 151 struct bch_fs *c = trans->c; in bkey_cached_alloc() 214 struct bch_fs *c = trans->c; in btree_key_cache_create() 323 struct bch_fs *c = trans->c; in btree_key_cache_fill() 344 ret = btree_key_cache_create(trans, btree_iter_path(trans, &iter), ck_path, k); in btree_key_cache_fill() 361 struct bch_fs *c = trans->c; in btree_path_traverse_cached_fast() 424 struct bch_fs *c = trans->c; in btree_key_cache_flush_pos() 563 ret = lockrestart_do(trans, in bch2_btree_key_cache_journal_flush() 569 bch2_trans_put(trans); in bch2_btree_key_cache_journal_flush() 577 struct bch_fs *c = trans->c; in bch2_btree_insert_key_cached() [all …]
|
| /fs/btrfs/ |
| A D | transaction.c | 514 !TRANS_ABORTED(trans)); in is_transaction_blocked() 894 return trans; in btrfs_attach_transaction_barrier() 1039 trans->transid, trans->bytes_reserved, 0); in btrfs_trans_release_metadata() 1064 trans->block_rsv = trans->orig_rsv; in __btrfs_end_transaction() 1099 ret = trans->aborted; in __btrfs_end_transaction() 1703 trans->bytes_reserved = trans->block_rsv->reserved; in create_pending_snapshot() 1773 trans->transid); in create_pending_snapshot() 1965 if (trans) in btrfs_transaction_blocked() 2007 if (IS_ERR(trans)) { in btrfs_commit_current_transaction() 2259 if (trans->in_fsync) in btrfs_commit_transaction() [all …]
|
| A D | free-space-tree.c | 98 struct btrfs_trans_handle *trans, in btrfs_search_free_space_info() argument 1174 if (IS_ERR(trans)) in btrfs_create_free_space_tree() 1175 return PTR_ERR(trans); in btrfs_create_free_space_tree() 1184 btrfs_end_transaction(trans); in btrfs_create_free_space_tree() 1191 btrfs_end_transaction(trans); in btrfs_create_free_space_tree() 1286 if (IS_ERR(trans)) in btrfs_delete_free_space_tree() 1287 return PTR_ERR(trans); in btrfs_delete_free_space_tree() 1340 if (IS_ERR(trans)) in btrfs_rebuild_free_space_tree() 1341 return PTR_ERR(trans); in btrfs_rebuild_free_space_tree() 1374 if (IS_ERR(trans)) in btrfs_rebuild_free_space_tree() [all …]
|
| /fs/btrfs/tests/ |
| A D | delayed-refs-tests.c | 48 &trans->transaction->delayed_refs; in delete_delayed_ref_head() 171 &trans->transaction->delayed_refs; in simple_test() 426 delete_delayed_ref_head(trans, head); in merge_tests() 492 delete_delayed_ref_head(trans, head); in merge_tests() 556 delete_delayed_ref_head(trans, head); in merge_tests() 626 delete_delayed_ref_head(trans, head); in merge_tests() 696 delete_delayed_ref_head(trans, head); in merge_tests() 780 &trans->transaction->delayed_refs; in select_delayed_refs_test() 977 struct btrfs_trans_handle trans; in btrfs_test_delayed_refs() local 996 trans.transaction = transaction; in btrfs_test_delayed_refs() [all …]
|