aboutsummaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/btree_iter.c
AgeCommit message (Expand)AuthorFilesLines
11 daysbcachefs: x-macroize journal flags enumsKent Overstreet1-1/+1
11 daysbcachefs: uninline set_btree_iter_dontneed()Kent Overstreet1-0/+13
11 daysbcachefs: fix btree_path_clone() ip_allocatedKent Overstreet1-3/+7
11 daysbcachefs: bch2_trans_verify_not_unlocked()Kent Overstreet1-0/+16
11 daysbcachefs: bch2_btree_path_can_relock()Kent Overstreet1-4/+29
11 daysbcachefs: trans->lockedKent Overstreet1-2/+7
11 daysbcachefs: maintain lock invariants in btree_iter_next_node()Kent Overstreet1-0/+3
11 daysbcachefs: get_unlocked_mut_path -> bch2_path_get_unlocked_mutKent Overstreet1-0/+16
11 daysbcachefs: iter/update/trigger/str_hash flag cleanupKent Overstreet1-83/+83
11 daysbcachefs: __BTREE_ITER_ALL_SNAPSHOTS -> BTREE_ITER_SNAPSHOT_FIELDKent Overstreet1-2/+2
11 daysbcachefs: When traversing to interior nodes, propagate result to paths to sam...Kent Overstreet1-0/+11
11 daysbcachefs: bch2_btree_path_to_text()Kent Overstreet1-5/+47
11 daysbcachefs: prt_printf() now respects \r\n\tKent Overstreet1-12/+6
2024-03-31bcachefs: Improved topology repair checksKent Overstreet1-3/+16
2024-03-31bcachefs: fix trans->mem realloc in __bch2_trans_kmallocHongbo Li1-3/+30
2024-03-13bcachefs: Use kvzalloc() when dynamically allocating btree pathsKent Overstreet1-2/+2
2024-03-13bcachefs: Track iter->ip_allocated at bch2_trans_copy_iter()Kent Overstreet1-0/+3
2024-03-13bcachefs: Save key_cache_path in peek_slot()Kent Overstreet1-0/+1
2024-03-13bcachefs: Kill more -EIO error codesKent Overstreet1-1/+1
2024-03-10bcachefs: btree_and_journal_iter.transKent Overstreet1-1/+1
2024-03-10bcachefs: Set path->uptodate when no node at levelKent Overstreet1-2/+2
2024-03-10bcachefs: Fix journal replay with unreadable btree rootsKent Overstreet1-1/+3
2024-02-24bcachefs: Fix BTREE_ITER_FILTER_SNAPSHOTS on inodes btreeKent Overstreet1-1/+3
2024-01-21bcachefs: Improve trace_trans_restart_relockKent Overstreet1-1/+1
2024-01-05bcachefs: Add an option to control btree node prefetchingKent Overstreet1-2/+4
2024-01-05bcachefs: track transaction durationsKent Overstreet1-1/+8
2024-01-05bcachefs: btree_trans always has statsKent Overstreet1-10/+4
2024-01-01bcachefs: bch2_btree_trans_peek_slot_updatesKent Overstreet1-31/+15
2024-01-01bcachefs: bch2_btree_trans_peek_prev_updatesKent Overstreet1-1/+20
2024-01-01bcachefs: bch2_btree_trans_peek_updatesKent Overstreet1-9/+20
2024-01-01bcachefs: growable btree_pathsKent Overstreet1-14/+63
2024-01-01bcachefs: trans->nr_pathsKent Overstreet1-4/+5
2024-01-01bcachefs: trans->updates will also be resizableKent Overstreet1-1/+2
2024-01-01bcachefs: optimize __bch2_trans_get(), kill DEBUG_TRANSACTIONSKent Overstreet1-84/+82
2024-01-01bcachefs: rcu protect trans->pathsKent Overstreet1-2/+20
2024-01-01bcachefs: Clean up btree_transKent Overstreet1-5/+7
2024-01-01bcachefs: kill btree_path.idxKent Overstreet1-6/+1
2024-01-01bcachefs: bch2_btree_iter_peek_prev() no longer uses path->idxKent Overstreet1-6/+6
2024-01-01bcachefs: bch2_path_get() no longer uses path->idxKent Overstreet1-5/+6
2024-01-01bcachefs: trans_for_each_path_with_node() no longer uses path->idxKent Overstreet1-3/+6
2024-01-01bcachefs: trans_for_each_path() no longer uses path->idxKent Overstreet1-10/+15
2024-01-01bcachefs: bch2_btree_path_to_text() -> btree_path_idx_tKent Overstreet1-6/+6
2024-01-01bcachefs: struct trans_for_each_path_inorder_iterKent Overstreet1-11/+12
2024-01-01bcachefs: btree_insert_entry -> btree_path_idx_tKent Overstreet1-2/+2
2024-01-01bcachefs: btree_iter -> btree_path_idx_tKent Overstreet1-92/+108
2024-01-01bcachefs: btree_path_alloc() -> btree_path_idx_tKent Overstreet1-25/+24
2024-01-01bcachefs: bch2_btree_path_traverse() -> btree_path_idx_tKent Overstreet1-15/+18
2024-01-01bcachefs: bch2_btree_path_make_mut() -> btree_path_idx_tKent Overstreet1-7/+6
2024-01-01bcachefs: bch2_btree_path_set_pos() -> btree_path_idx_tKent Overstreet1-21/+23
2024-01-01bcachefs; bch2_path_put() -> btree_path_idx_tKent Overstreet1-22/+20
2024-01-01bcachefs: bch2_path_get() -> btree_path_idx_tKent Overstreet1-6/+6
2024-01-01bcachefs: minor bch2_btree_path_set_pos() optimizationKent Overstreet1-1/+3
2024-01-01bcachefs: kill __bch2_btree_iter_peek_upto_and_restart()Kent Overstreet1-1/+1
2024-01-01bcachefs: bch2_trans_srcu_lock() should be staticKent Overstreet1-1/+2
2024-01-01bcachefs: trans_for_each_update() now declares loop iterKent Overstreet1-5/+0
2024-01-01bcachefs: fix userspace build errorsKent Overstreet1-2/+2
2024-01-01bcachefs: kill btree_trans->wb_updatesKent Overstreet1-12/+5
2024-01-01bcachefs: bch2_trans_node_add no longer uses trans_for_each_path()Kent Overstreet1-6/+14
2024-01-01bcachefs: Improve trans->extra_journal_entriesKent Overstreet1-2/+2
2024-01-01bcachefs: kill btree_path->(alloc_seq|downgrade_seq)Kent Overstreet1-1/+0
2024-01-01bcachefs: reserve path idx 0 for sentinalKent Overstreet1-1/+3
2024-01-01bcachefs: Refactor trans->paths_allocated to be standard bitmapKent Overstreet1-12/+11
2024-01-01bcachefs: Include btree_trans in more tracepointsKent Overstreet1-2/+2
2024-01-01bcachefs: Improve trace_trans_restart_would_deadlockKent Overstreet1-1/+2
2024-01-01bcachefs: Improve trace_trans_restart_too_many_iters()Kent Overstreet1-0/+16
2024-01-01bcachefs: convert bch_fs_flags to x-macroKent Overstreet1-2/+2
2024-01-01bcachefs: Kill btree_iter->journal_posKent Overstreet1-13/+5
2024-01-01bcachefs: Kill BTREE_ITER_ALL_LEVELSKent Overstreet1-115/+8
2024-01-01bcachefs: Fix redundant variable initializationKent Overstreet1-3/+1
2024-01-01bcachefs: Fix extents iteration + snapshots interactionKent Overstreet1-11/+24
2023-12-14bcachefs: fix invalid memory access in bch2_fs_alloc() error pathThomas Bertschinger1-2/+6
2023-11-24bcachefs: Proper refcounting for journal_keysKent Overstreet1-1/+5
2023-11-14bcachefs: Kill journal pre-reservationsKent Overstreet1-2/+0
2023-11-04bcachefs: Add a comment for BTREE_INSERT_NOJOURNAL usageKent Overstreet1-1/+1
2023-11-04bcachefs: Data move path now uses bch2_trans_unlock_long()Kent Overstreet1-1/+11
2023-11-04bcachefs: Ensure srcu lock is not held too longKent Overstreet1-13/+29
2023-11-01bcachefs: Don't downgrade locks on transaction restartKent Overstreet1-1/+2
2023-10-31bcachefs: bch2_btree_id_str()Kent Overstreet1-7/+7
2023-10-22bcachefs: Heap allocate btree_transKent Overstreet1-39/+43
2023-10-22bcachefs: Fix W=12 build errorsKent Overstreet1-10/+27
2023-10-22bcachefs: Fix a handful of spelling mistakes in various messagesColin Ian King1-1/+1
2023-10-22bcachefs: Fix silent enum conversion errorKent Overstreet1-3/+5
2023-10-22bcachefs: Split out snapshot.cKent Overstreet1-1/+1
2023-10-22bcachefs: Zero btree_paths on allocationKent Overstreet1-5/+7
2023-10-22bcachefs: btree_journal_iter.cKent Overstreet1-1/+1
2023-10-22bcachefs: Fix assorted checkpatch nitsKent Overstreet1-4/+4
2023-10-22bcachefs: Assorted fixes for clangKent Overstreet1-22/+0
2023-10-22bcachefs: Assorted sparse fixesKent Overstreet1-5/+5
2023-10-22bcachefs: Allow for unknown btree IDsKent Overstreet1-2/+2
2023-10-22bcachefs: seqmutex; fix a lockdep splatKent Overstreet1-9/+9
2023-10-22bcachefs: More drop_locks_do() conversionsKent Overstreet1-3/+1
2023-10-22bcachefs: bch2_trans_kmalloc no longer allocates memory with btree locks heldKent Overstreet1-8/+21
2023-10-22bcachefs: drop_locks_do()Kent Overstreet1-6/+3
2023-10-22bcachefs: trans_for_each_path_safe()Kent Overstreet1-2/+6
2023-10-22six locks: Seq now only incremented on unlockKent Overstreet1-1/+0
2023-10-22six locks: Kill six_lock_state unionKent Overstreet1-2/+2
2023-10-22bcachefs: Don't call local_clock() twice in trans_begin()Kent Overstreet1-2/+5
2023-10-22bcachefs: Call bch2_path_put_nokeep() before bch2_path_put()Kent Overstreet1-3/+3
2023-10-22bcachefs: Private error codes: ENOMEMKent Overstreet1-2/+2
2023-10-22bcachefs: bch2_btree_iter_peek_node_and_restart()Kent Overstreet1-0/+11
2023-10-22bcachefs: Plumb btree_trans through btree cache codeKent Overstreet1-2/+2
2023-10-22bcachefs: bch2_btree_iter_peek_and_restart_outlined()Kent Overstreet1-0/+12
2023-10-22bcachefs: Split trans->last_begin_ip and trans->last_restarted_ipKent Overstreet1-2/+3
2023-10-22bcachefs: Add an assertion for using multiple btree_transKent Overstreet1-0/+9
2023-10-22bcachefs: Btree write bufferKent Overstreet1-1/+16
2023-10-22bcachefs: trans->notrace_relock_failKent Overstreet1-1/+3
2023-10-22bcachefs: Switch a BUG_ON() to a panic()Kent Overstreet1-1/+4
2023-10-22bcachefs: Fix btree_path_alloc()Kent Overstreet1-3/+8
2023-10-22bcachefs: Use for_each_btree_key_upto() more consistentlyKent Overstreet1-11/+17
2023-10-22bcachefs: Use six_lock_ip()Kent Overstreet1-3/+3
2023-10-22bcachefs: bch2_trans_in_restart_error()Kent Overstreet1-11/+17
2023-10-22bcachefs: Fix bch2_trans_reset_updates()Kent Overstreet1-8/+0
2023-10-22bcachefs: Inline bch2_btree_path_traverse() fastpathKent Overstreet1-27/+5
2023-10-22bcachefs: btree_iter->ip_allocatedKent Overstreet1-22/+47
2023-10-22bcachefs: key cache: Don't hold btree locks while using GFP_RECLAIMKent Overstreet1-1/+1
2023-10-22bcachefs: Fix bch2_btree_path_traverse_all()Kent Overstreet1-0/+3
2023-10-22bcachefs: Delete a faulty assertionKent Overstreet1-5/+4
2023-10-22bcachefs: bch2_btree_trans_to_text(): print blocked timeKent Overstreet1-1/+3
2023-10-22bcachefs: Fix for long running btree transactions & key cacheKent Overstreet1-0/+18
2023-10-22bcachefs: bch2_trans_revalidate_updates_in_node()Kent Overstreet1-0/+30
2023-10-22bcachefs: bkey_min(), bkey_max()Kent Overstreet1-3/+1
2023-10-22bcachefs: Add a missing bch2_btree_path_traverse() callKent Overstreet1-0/+5
2023-10-22bcachefs: Fix a btree iter assertion popKent Overstreet1-7/+16
2023-10-22bcachefs: Key cache now works for snapshots btreesKent Overstreet1-0/+4
2023-10-22bcachefs: Bring back BTREE_ITER_CACHED_NOFILLKent Overstreet1-2/+4
2023-10-22bcachefs: Kill __btree_trans_peek_key_cache()Kent Overstreet1-12/+5
2023-10-22bcachefs: Fix __btree_trans_peek_key_cache()Kent Overstreet1-1/+7
2023-10-22bcachefs: New bpos_cmp(), bkey_cmp() replacementsKent Overstreet1-43/+43
2023-10-22bcachefs: Optimize bch2_trans_iter_init()Kent Overstreet1-62/+20
2023-10-22bcachefs: Move some asserts behind CONFIG_BCACHEFS_DEBUGKent Overstreet1-1/+1
2023-10-22bcachefs: Fix return code from btree_path_traverse_one()Kent Overstreet1-1/+1
2023-10-22bcachefs: Fixes for building in userspaceKent Overstreet1-4/+4
2023-10-22bcachefs: Improve __bch2_btree_path_make_mut()Kent Overstreet1-6/+0
2023-10-22bcachefs: Inlining improvementsKent Overstreet1-1/+2
2023-10-22bcachefs: More style fixesKent Overstreet1-0/+2
2023-10-22bcachefs: Journal keys overlay fixesKent Overstreet1-1/+1
2023-10-22bcachefs: Fix an out-of-bounds shiftKent Overstreet1-3/+3
2023-10-22bcachefs: Don't touch c->flags in bch2_trans_iter_init()Kent Overstreet1-5/+7
2023-10-22bcachefs: Assorted checkpatch fixesKent Overstreet1-2/+2
2023-10-22bcachefs: Optimize bch2_trans_init()Kent Overstreet1-9/+11
2023-10-22bcachefs: Split out __btree_path_up_until_good_node()Kent Overstreet1-10/+24
2023-10-22bcachefs: Switch to local_clock() for fastpath time sourceKent Overstreet1-3/+3
2023-10-22bcachefs: Fix btree node prefetchigKent Overstreet1-2/+2
2023-10-22bcachefs: Fix a rare path in bch2_btree_path_peek_slot()Kent Overstreet1-6/+10
2023-10-22bcachefs: bch2_path_put_nokeep()Kent Overstreet1-8/+20
2023-10-22bcachefs: bch2_btree_iter_peek() now works with interior nodesKent Overstreet1-5/+16
2023-10-22bcachefs: Fix bch2_btree_path_up_until_good_node()Kent Overstreet1-2/+4
2023-10-22bcachefs; Mark __bch2_trans_iter_init as inlineKent Overstreet1-6/+6
2023-10-22bcachefs: Optimize btree_path_alloc()Kent Overstreet1-7/+12
2023-10-22bcachefs: Inline bch2_trans_kmalloc() fast pathKent Overstreet1-21/+18
2023-10-22bcachefs: bch2_print_string_as_lines()Kent Overstreet1-4/+3
2023-10-22bcachefs: bch2_btree_node_relock_notrace()Kent Overstreet1-1/+1
2023-10-22bcachefs: Improve bch2_btree_trans_to_text()Kent Overstreet1-11/+20
2023-10-22bcachefs: Delete old deadlock avoidance codeKent Overstreet1-38/+4
2023-10-22bcachefs: Print deadlock cycle in debugfsKent Overstreet1-2/+0
2023-10-22bcachefs: Deadlock cycle detectorKent Overstreet1-4/+7
2023-10-22bcachefs: Add a debug assertKent Overstreet1-0/+3
2023-10-22bcachefs: Make an assertion more informativeKent Overstreet1-1/+4
2023-10-22bcachefs: All held locks must be in a btree pathKent Overstreet1-63/+6
2023-10-22bcachefs: Avoid using btree_node_lock_nopath()Kent Overstreet1-3/+3
2023-10-22bcachefs: btree_bkey_cached_common->cachedKent Overstreet1-5/+4
2023-10-22bcachefs: Add persistent counters for all tracepointsKent Overstreet1-4/+4
2023-10-22bcachefs: Print lock counts in debugs btree_transactionsKent Overstreet1-0/+12
2023-10-22bcachefs: Switch btree locking code to struct btree_bkey_cached_commonKent Overstreet1-1/+1
2023-10-22bcachefs: Track maximum transaction memoryKent Overstreet1-10/+13
2023-10-22bcachefs: Kill nodes_intent_lockedKent Overstreet1-2/+0
2023-10-22bcachefs: Better use of locking helpersKent Overstreet1-3/+3
2023-10-22bcachefs: btree_locking.cKent Overstreet1-442/+2
2023-10-22bcachefs: Minor transaction restart handling fixKent Overstreet1-4/+4
2023-10-22bcachefs: Fix bch2_btree_iter_peek_slot() error pathKent Overstreet1-3/+8
2023-10-22bcachefs: Another should_be_locked fixupKent Overstreet1-12/+16
2023-10-22bcachefs: btree_path_down() optimizationKent Overstreet1-3/+3
2023-10-22bcachefs: Increment restart count in bch2_trans_begin()Kent Overstreet1-0/+1
2023-10-22bcachefs: Track the maximum btree_paths ever allocated by each transactionKent Overstreet1-28/+89
2023-10-22bcachefs: Rename lock_held_stats -> btree_transaction_statsKent Overstreet1-9/+30
2023-10-22bcachefs: Fix duplicate paths left by bch2_path_put()Kent Overstreet1-34/+35
2023-10-22bcachefs: Kill BTREE_ITER_CACHED_(NOFILL|NOCREATE)Kent Overstreet1-5/+1
2023-10-22bcachefs: Tracepoint improvementsKent Overstreet1-42/+13
2023-10-22bcachefs: six_lock_counts() is now in six.cKent Overstreet1-3/+3
2023-10-22bcachefs: BTREE_ITER_NO_NODE -> BCH_ERR codesKent Overstreet1-41/+19
2023-10-22bcachefs: Don't set should_be_locked on paths that aren't lockedKent Overstreet1-28/+29
2023-10-22bcachefs: Tracepoint improvementsKent Overstreet1-19/+40
2023-10-22bcachefs: Fix bch2_btree_trans_to_text()Kent Overstreet1-10/+8
2023-10-22bcachefs: Tighten up btree_path assertionsKent Overstreet1-1/+3
2023-10-22bcachefs: Inject transaction restarts in debug modeKent Overstreet1-0/+11
2023-10-22bcachefs: EINTR -> BCH_ERR_transaction_restartKent Overstreet1-51/+54
2023-10-22bcachefs: Add a counter for btree_trans restartsKent Overstreet1-2/+11
2023-10-22bcachefs: added lock held time statsDaniel Hill1-5/+14
2023-10-22bcachefs: lock time stats prep work.Daniel Hill1-28/+30
2023-10-22bcachefs: Unlock in bch2_trans_begin() if we've held locks more than 10usKent Overstreet1-1/+9
2023-10-22bcachefs: Silence unimportant tracepointsKent Overstreet1-6/+8
2023-10-22bcachefs: Improve an error messageKent Overstreet1-60/+49
2023-10-22bcachefs: Printbuf reworkKent Overstreet1-21/+21
2023-10-22bcachefs: bch2_trans_reset_updates()Kent Overstreet1-9/+1
2023-10-22bcachefs: Fix journal_keys_search() overheadKent Overstreet1-5/+23
2023-10-22bcachefs: Put btree_trans_verify_sorted() behind debug_check_iteratorsKent Overstreet1-0/+3
2023-10-22bcachefs: bch2_btree_iter_peek_all_levels()Kent Overstreet1-8/+115
2023-10-22bcachefs: btree_path_set_level_(up|down)Kent Overstreet1-13/+26
2023-10-22bcachefs: bch2_btree_iter_peek_slot() now works on interior nodesKent Overstreet1-8/+11
2023-10-22bcachefs: Introduce bch2_journal_keys_peek_(upto|slot)()Kent Overstreet1-8/+7