aboutsummaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/btree_cache.c
AgeCommit message (Expand)AuthorFilesLines
2025-09-29Remove bcachefs core codeLinus Torvalds1-1516/+0
2025-07-04bcachefs: Tweak btree cache helpers for use by btree node scanKent Overstreet1-13/+13
2025-06-02bcachefs: bch_err_throw()Kent Overstreet1-12/+12
2025-05-21bcachefs: Reduce usage of recovery.curr_passKent Overstreet1-1/+1
2025-05-21bcachefs: struct bch_fs_recoveryKent Overstreet1-1/+1
2025-05-21bcachefs: Debug params are now static_keysKent Overstreet1-3/+3
2025-05-21bcachefs: Kill bch2_trans_unlock_noassertAlan Huang1-1/+1
2025-05-21bcachefs: Improve bch2_btree_cache_to_text()Kent Overstreet1-3/+8
2025-05-21bcachefs: __btree_node_reclaim_checks()Kent Overstreet1-66/+69
2025-05-21bcachefs: kill BTREE_CACHE_NOT_FREED_INCREMENT()Kent Overstreet1-26/+20
2025-05-14bcachefs: Don't set btree nodes as accessed on fillKent Overstreet1-5/+4
2025-03-28bcachefs: Consistent indentation of multiline fsck errorsKent Overstreet1-1/+1
2025-03-16bcachefs: Add a cond_resched() to btree cache teardownKent Overstreet1-0/+1
2025-02-26bcachefs: Fix deadlockAlan Huang1-4/+5
2025-01-25bcachefs: fix bch2_btree_node_flagsKent Overstreet1-1/+4
2025-01-09bcachefs: __bch2_btree_pos_to_text()Kent Overstreet1-5/+11
2024-12-29bcachefs: check_extents_to_backpointers() now only checks buckets with mismat...Kent Overstreet1-1/+0
2024-12-21bcachefs: Fix bch2_btree_node_update_key_early()Kent Overstreet1-1/+1
2024-12-21bcachefs: Fix btree node scan when unknown btree IDs are presentKent Overstreet1-3/+8
2024-12-21bcachefs: BCH_ERR_btree_node_read_error_cachedKent Overstreet1-3/+3
2024-12-21bcachefs: Avoid bch2_btree_id_str()Kent Overstreet1-14/+23
2024-11-07bcachefs: btree_cache.freeable list fixesKent Overstreet1-39/+61
2024-11-07bcachefs: Fix error handling in bch2_btree_node_prefetch()Kent Overstreet1-2/+5
2024-09-21bcachefs: Rework btree node pinningKent Overstreet1-52/+112
2024-09-21bcachefs: split up btree cache counters for live, freeableKent Overstreet1-22/+36
2024-09-21bcachefs: btree cache counters should be size_tKent Overstreet1-23/+23
2024-09-21bcachefs: Don't count "skipped access bit" as touched in btree cache scanKent Overstreet1-0/+1
2024-09-21bcachefs: Use mm_account_reclaimed_pages() when freeing btree nodesKent Overstreet1-0/+11
2024-09-21bcachefs: Use __GFP_ACCOUNT for reclaimable memoryKent Overstreet1-0/+2
2024-09-21bcachefs: Add pinned to btree cache not freed countersKent Overstreet1-12/+16
2024-09-09bcachefs: Drop memalloc_nofs_save() in bch2_btree_node_mem_alloc()Kent Overstreet1-5/+0
2024-08-22bcachefs: fix failure to relock in btree_node_fill()Kent Overstreet1-0/+4
2024-08-22bcachefs: fix failure to relock in bch2_btree_node_mem_alloc()Kent Overstreet1-0/+17
2024-08-22bcachefs: Fix failure to relock in btree_node_get()Kent Overstreet1-0/+4
2024-07-14bcachefs: bch2_btree_id_to_text()Kent Overstreet1-0/+8
2024-07-14bcachefs: Use try_cmpxchg() family of functions instead of cmpxchg()Uros Bizjak1-4/+4
2024-06-10bcachefs: Enable automatic shrinking for rhashtablesKent Overstreet1-4/+5
2024-05-09bcachefs: add counters for failed shrinker reclaimDaniel Hill1-20/+68
2024-05-09bcachefs: for_each_bset() declares loop iterKent Overstreet1-3/+0
2024-05-08bcachefs: Improve sysfs internal/btree_cacheKent Overstreet1-5/+28
2024-05-08bcachefs: Run bch2_check_fix_ptrs() via triggersKent Overstreet1-0/+29
2024-04-14bcachefs: Fix bch2_btree_node_fill() for !pathKent Overstreet1-26/+18
2024-04-14bcachefs: add safety checks in bch2_btree_node_fill()Kent Overstreet1-1/+24
2024-04-13bcachefs: fix race in bch2_btree_node_evict()Kent Overstreet1-1/+3
2024-03-31bcachefs: Improved topology repair checksKent Overstreet1-1/+2
2024-03-31bcachefs: Add an assertion for trying to evict btree rootKent Overstreet1-0/+2
2024-03-13bcachefs: Pin btree cache in ram for random access in fsckKent Overstreet1-0/+13
2024-03-13bcachefs: Kill more -EIO error codesKent Overstreet1-3/+3
2024-03-13bcachefs: kill kvpmalloc()Kent Overstreet1-4/+4
2024-03-10bcachefs: btree node prefetching in check_topologyKent Overstreet1-3/+7
2024-01-21bcachefs: Prep work for variable size btree node buffersKent Overstreet1-6/+6
2024-01-05bcachefs: don't clear accessed bit in btree node fillKent Overstreet1-6/+0
2024-01-01bcachefs: Include btree_trans in more tracepointsKent Overstreet1-10/+12
2023-12-03bcachefs: Don't drop journal pins in exit pathKent Overstreet1-5/+3
2023-11-07Merge tag 'bcachefs-2023-11-5' of https://evilpiepirate.org/git/bcachefsLinus Torvalds1-5/+18
2023-11-02Merge tag 'mm-stable-2023-11-01-14-33' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-10/+12
2023-10-31bcachefs: Fix shrinker namesKent Overstreet1-1/+1
2023-10-31bcachefs: bch2_btree_id_str()Kent Overstreet1-4/+17
2023-10-22bcachefs: Minor bch2_btree_node_get() smatch fixesKent Overstreet1-22/+2
2023-10-22bcachefs: Fix W=12 build errorsKent Overstreet1-3/+12
2023-10-22bcachefs: bkey_format helper improvementsKent Overstreet1-9/+6
2023-10-22bcachefs: Enumerate recovery passesKent Overstreet1-1/+1
2023-10-22bcachefs: Delete redundant log messagesKent Overstreet1-10/+9
2023-10-22bcachefs: Allow for unknown btree IDsKent Overstreet1-8/+13
2023-10-22bcachefs: unregister_shrinker() now safe on not-registered shrinkerKent Overstreet1-2/+1
2023-10-22bcachefs: bch2_trans_unlock_noassert()Kent Overstreet1-1/+1
2023-10-22bcachefs: Ensure bch2_btree_node_get() calls relock() after unlock()Kent Overstreet1-12/+19
2023-10-22six locks: Kill six_lock_state unionKent Overstreet1-3/+3
2023-10-22six locks: Kill six_lock_pcpu_(alloc|free)Kent Overstreet1-4/+4
2023-10-22bcachefs: Clear btree_node_just_written() when node reused or evictedKent Overstreet1-0/+3
2023-10-22bcachefs: Private error codes: ENOMEMKent Overstreet1-9/+9
2023-10-22bcachefs: bch2_btree_node_to_text() const correctnessKent Overstreet1-2/+2
2023-10-22bcachefs: Centralize btree node lock initializationKent Overstreet1-2/+1
2023-10-22bcachefs: Plumb btree_trans through btree cache codeKent Overstreet1-13/+14
2023-10-22bcachefs: Use six_lock_ip()Kent Overstreet1-1/+1
2023-10-22bcachefs: Convert EAGAIN errors to private error codesKent Overstreet1-3/+1
2023-10-22bcachefs: New bpos_cmp(), bkey_cmp() replacementsKent Overstreet1-2/+2
2023-10-22bcachefs: Don't set accessed bit on btree node fillKent Overstreet1-4/+10
2023-10-22bcachefs: Split out __bch2_btree_node_get()Kent Overstreet1-54/+108
2023-10-22bcachefs: Fix a race with b->write_typeKent Overstreet1-1/+0
2023-10-22bcachefs: More style fixesKent Overstreet1-2/+7
2023-10-22bcachefs: Improved btree write statisticsKent Overstreet1-4/+7
2023-10-22bcachefs: Assorted checkpatch fixesKent Overstreet1-2/+2
2023-10-22bcachefs: improve behaviour of btree_cache_scan()Daniel Hill1-1/+1
2023-10-22bcachefs: bch2_btree_cache_scan() improvementKent Overstreet1-44/+40
2023-10-22bcachefs: Delete old deadlock avoidance codeKent Overstreet1-28/+9
2023-10-22bcachefs: New locking functionsKent Overstreet1-7/+14
2023-10-22bcachefs: Add persistent counters for all tracepointsKent Overstreet1-11/+11
2023-10-22bcachefs: Switch btree locking code to struct btree_bkey_cached_commonKent Overstreet1-1/+1
2023-10-22bcachefs: Tracepoint improvementsKent Overstreet1-11/+5
2023-10-22bcachefs: EINTR -> BCH_ERR_transaction_restartKent Overstreet1-23/+31
2023-10-22bcachefs: lock time stats prep work.Daniel Hill1-1/+1
2023-10-22bcachefs: Printbuf reworkKent Overstreet1-10/+10
2023-10-22bcachefs: Improve btree_bad_header()Kent Overstreet1-21/+19
2023-10-22bcachefs: Don't normalize to pages in btree cache shrinkerKent Overstreet1-9/+4
2023-10-22bcachefs: Fix usage of six lock's percpu modeKent Overstreet1-14/+27
2023-10-22bcachefs: Refactor bch2_btree_node_mem_alloc()Kent Overstreet1-39/+45
2023-10-22bcachefs: Make bch2_btree_cache_scan() try harderKent Overstreet1-11/+17
2023-10-22bcachefs: Fix race leading to btree node write getting stuckKent Overstreet1-4/+3
2023-10-22bcachefs: Improve btree_node_write_if_need()Kent Overstreet1-3/+3
2023-10-22bcachefs: Use x-macros for btree node flagsKent Overstreet1-1/+8
2023-10-22bcachefs: Kill BCH_FS_HOLD_BTREE_WRITESKent Overstreet1-2/+1
2023-10-22bcachefs: Heap allocate printbufsKent Overstreet1-6/+12
2023-10-22bcachefs: Fix failure to allocate btree node in cacheKent Overstreet1-0/+9
2023-10-22bcachefs: Tracepoint improvementsKent Overstreet1-0/+4
2023-10-22bcachefs: Switch to __func__for recording where btree_trans was initializedKent Overstreet1-1/+1
2023-10-22bcachefs: Add a tracepoint for the btree cache shrinkerKent Overstreet1-2/+9
2023-10-22bcachefs: Optimize memory accesses in bch2_btree_node_get()Kent Overstreet1-9/+10
2023-10-22bcachefs: Fix infinite loop in bch2_btree_cache_scan()Kent Overstreet1-2/+2
2023-10-22bcachefs: Improve btree_node_mem_ptr optimizationKent Overstreet1-1/+6
2023-10-22bcachefs: btree_pathKent Overstreet1-18/+18
2023-10-22bcachefs: Add an assertion for removing btree nodes from cacheKent Overstreet1-1/+2
2023-10-22bcachefs: Further reduce iter->trans usageKent Overstreet1-18/+22
2023-10-22bcachefs: trans->restartedKent Overstreet1-5/+14
2023-10-22bcachefs: Always check for transaction restartsKent Overstreet1-5/+6
2023-10-22bcachefs: Add an option for btree node mem ptr optimizationKent Overstreet1-6/+10
2023-10-22bcachefs: bch2_btree_iter_relock_intent()Kent Overstreet1-14/+9
2023-10-22bcachefs: Improve btree_bad_header() error messageKent Overstreet1-13/+12
2023-10-22bcachefs: Tighten up btree_iter locking assertionsKent Overstreet1-2/+6
2023-10-22bcachefs: Kick off btree node writes from write completionsKent Overstreet1-2/+2
2023-10-22bcachefs: Really don't hold btree locks while btree IOs are in flightKent Overstreet1-35/+60
2023-10-22bcachefs: Drop all btree locks when submitting btree node readsKent Overstreet1-10/+29
2023-10-22bcachefs: Improve btree iterator tracepointsKent Overstreet1-1/+4
2023-10-22bcachefs: Mark newly allocated btree nodes as accessedKent Overstreet1-0/+1
2023-10-22bcachefs: Evict btree nodes we're deletingKent Overstreet1-0/+30
2023-10-22bcachefs: Use mmap() instead of vmalloc_exec() in userspaceKent Overstreet1-8/+15
2023-10-22bcachefs: Don't BUG_ON() btree topology errorKent Overstreet1-8/+37
2023-10-22bcachefs: Update bch2_btree_verify()Kent Overstreet1-20/+2
2023-10-22bcachefs: Improve bset compactionKent Overstreet1-1/+1
2023-10-22bcachefs: Kill bch2_btree_node_get_sibling()Kent Overstreet1-132/+2
2023-10-22bcachefs: Start using bpos.snapshot fieldKent Overstreet1-1/+1
2023-10-22bcachefs: Split out bpos_cmp() and bkey_cmp()Kent Overstreet1-5/+5
2023-10-22bcachefs: Use pcpu mode of six locks for interior nodesKent Overstreet1-0/+6
2023-10-22bcachefs: Use bch2_bpos_to_text() more consistentlyKent Overstreet1-8/+7
2023-10-22bcachefs: Rename BTREE_ID enums for consistency with other enumsKent Overstreet1-7/+0
2023-10-22bcachefs: Fix bch2_btree_cache_scan()Kent Overstreet1-2/+8
2023-10-22bcachefs: Fix for bch2_btree_node_get_noiter() returning -ENOMEMKent Overstreet1-4/+10
2023-10-22bcachefs: Add (partial) support for fixing btree topologyKent Overstreet1-9/+34
2023-10-22bcachefs: Add btree node prefetching to bch2_btree_and_journal_walk()Kent Overstreet1-4/+4
2023-10-22bcachefs: Add cannibalize lock to btree_cache_to_text()Kent Overstreet1-2/+3
2023-10-22bcachefs: Reduce/kill BKEY_PADDED useKent Overstreet1-4/+9
2023-10-22bcachefs: Add btree cache stats to sysfsKent Overstreet1-0/+6
2023-10-22bcachefs: Check for errors from register_shrinker()Kent Overstreet1-1/+1
2023-10-22bcachefs: Fix missing memalloc_nofs_restore()Kent Overstreet1-1/+1
2023-10-22bcachefs: Add accounting for dirty btree nodes/keysKent Overstreet1-1/+3
2023-10-22bcachefs: Drop sysfs interface to debug parametersKent Overstreet1-4/+4
2023-10-22bcachefs: Improve tracing for transaction restartsKent Overstreet1-4/+5
2023-10-22bcachefs: Fix btree updates when mixing cached and non cached iteratorsKent Overstreet1-1/+1
2023-10-22bcachefs: Fix another lockdep splatKent Overstreet1-1/+4
2023-10-22bcachefs: Fix a lockdep splatKent Overstreet1-1/+4
2023-10-22bcachefs: Remove some uses of PAGE_SIZE in the btree codeKent Overstreet1-28/+29
2023-10-22bcachefs: Ensure we wake up threads locking node when reusing itKent Overstreet1-0/+2
2023-10-22bcachefs: Fix incorrect gfp checkKent Overstreet1-1/+1
2023-10-22bcachefs: Don't deadlock when btree node reuse changes lock orderingKent Overstreet1-2/+17
2023-10-22bcachefs: Don't allocate memory under the btree cache lockKent Overstreet1-29/+58
2023-10-22bcachefs: Check gfp_flags correctly in bch2_btree_cache_scan()Kent Overstreet1-1/+1
2023-10-22bcachefs: Fix a deadlock in bch2_btree_node_get_sibling()Kent Overstreet1-0/+12
2023-10-22bcachefs: fix memalloc_nofs_restore() usageKent Overstreet1-1/+2
2023-10-22bcachefs: Kill bkey_type_successorKent Overstreet1-2/+1
2023-10-22bcachefs: trans_commit() path can now insert to interior nodesKent Overstreet1-5/+76
2023-10-22bcachefs: fix setting btree_node_accessed()Kent Overstreet1-1/+1
2023-10-22bcachefs: Use btree_ptr_v2.mem_ptr to avoid hash table lookupKent Overstreet1-17/+11
2023-10-22bcachefs: introduce b->hash_valKent Overstreet1-10/+14
2023-10-22bcachefs: Whiteout changesKent Overstreet1-1/+0
2023-10-22bcachefs: Fall back to slowpath on exact comparisonKent Overstreet1-4/+2
2023-10-22bcachefs: kill BFLOAT_FAILED_PREVKent Overstreet1-2/+0
2023-10-22bcachefs: Drop unnecessary rcu_read_lock()Kent Overstreet1-6/+0
2023-10-22bcachefs: use memalloc_nofs_save() for vmalloc allocationKent Overstreet1-0/+4
2023-10-22bcachefs: Rip out old hacky transaction restart tracingKent Overstreet1-1/+0
2023-10-22bcachefs: More work to avoid transaction restartsKent Overstreet1-2/+1
2023-10-22bcachefs: Delete duplicate codeKent Overstreet1-1/+1
2023-10-22bcachefs: kill BTREE_ITER_NOUNLOCKKent Overstreet1-2/+1
2023-10-22bcachefs: Don't pass around may_drop_locksKent Overstreet1-22/+19
2023-10-22bcachefs: btree_bkey_cached_commonKent Overstreet1-31/+31
2023-10-22bcachefs: Add actual tracepoints for transaction restartsKent Overstreet1-0/+2
2023-10-22bcachefs: trans_for_each_iter()Kent Overstreet1-3/+3
2023-10-22bcachefs: More allocator startup improvementsKent Overstreet1-0/+4
2023-10-22bcachefs: Make bkey types globally uniqueKent Overstreet1-11/+7
2023-10-22bcachefs: revamp to_text methodsKent Overstreet1-43/+42
2023-10-22bcachefs: trace transaction restartsKent Overstreet1-0/+1
2023-10-22bcachefs: Initial commitKent Overstreet1-0/+941