aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/bcache/btree.c
AgeCommit message (Expand)AuthorFilesLines
2025-11-13bcache: WQ_PERCPU added to alloc_workqueue usersMarco Crivellari1-1/+2
2025-11-13bcache: remove redundant __GFP_NOWARNQianfeng Rong1-1/+1
2025-11-13bcache: reduce gc latency by processing less nodes and sleep less timeColy Li1-24/+24
2025-06-19Revert "bcache: remove heap-related macros and switch to generic min_heap"Kuan-Wei Chiu1-40/+29
2025-06-06Merge tag 'block-6.16-20250606' of git://git.kernel.dk/linuxLinus Torvalds1-2/+0
2025-05-27bcache: remove unused constantsRobert Pang1-2/+0
2025-05-11sort.h: hoist cmp_int() into generic header fileFedor Pchelkin1-2/+1
2024-06-24bcache: remove heap-related macros and switch to generic min_heapKuan-Wei Chiu1-29/+40
2024-05-28bcache: allow allocator to invalidate bucket in gcDongsheng Yang1-1/+6
2024-05-08bcache: fix variable length array abuse in btree_iterMatthew Mirvish1-19/+21
2023-12-02Merge tag 'block-6.7-2023-12-01' of git://git.kernel.dk/linuxLinus Torvalds1-1/+1
2023-12-02Merge tag 'bcachefs-2023-11-29' of https://evilpiepirate.org/git/bcachefsLinus Torvalds1-7/+7
2023-11-24bcache: revert replacing IS_ERR_OR_NULL with IS_ERRMarkus Weippert1-1/+1
2023-11-24closures: CLOSURE_CALLBACK() to fix type punningKent Overstreet1-7/+7
2023-11-20bcache: add code comments for bch_btree_node_get() and __bch_btree_node_alloc()Coly Li1-0/+7
2023-11-20bcache: replace a mistaken IS_ERR() by IS_ERR_OR_NULL() in btree_gc_coalesce()Coly Li1-1/+1
2023-11-20bcache: check return value from btree_node_alloc_replacement()Coly Li1-0/+2
2023-10-04bcache: dynamically allocate the md-bcache shrinkerQi Zheng1-11/+16
2023-06-27Merge tag 'locking-core-2023-06-27' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-1/+22
2023-06-15bcache: fixup btree_cache_wait list damageMingzhe Zou1-1/+10
2023-06-15bcache: Fix __bch_btree_node_alloc to make the failure behavior consistentZheng Wang1-1/+3
2023-06-15bcache: Remove unnecessary NULL point check in node allocationsZheng Wang1-5/+5
2023-05-24bcache: Convert to lock_cmp_fnKent Overstreet1-1/+22
2022-07-03mm: shrinkers: provide shrinkers with namesRoman Gushchin1-1/+1
2022-05-27bcache: memset on stack variables in bch_btree_check() and bch_sectors_dirty_...Coly Li1-0/+1
2022-05-24bcache: improve multithreaded bch_btree_check()Coly Li1-32/+26
2022-03-06bcache: fixup multiple threads crashMingzhe Zou1-2/+4
2021-11-08bcache: Revert "bcache: use bvec_virt"Coly Li1-1/+1
2021-10-20bcache: remove bch_crc64_updateChristoph Hellwig1-1/+1
2021-08-16bcache: use bvec_virtChristoph Hellwig1-1/+1
2021-04-11bcache: remove PTR_CACHEChristoph Hellwig1-2/+2
2021-02-10bcache: Give btree_io_wq correct semantics againKai Krakow1-1/+1
2021-02-10Revert "bcache: Kill btree_io_wq"Kai Krakow1-2/+19
2020-10-02bcache: remove embedded struct cache_sb from struct cache_setColy Li1-8/+9
2020-10-02bcache: only use block_bytes() on struct cacheColy Li1-12/+12
2020-10-02bcache: remove for_each_cache()Coly Li1-56/+47
2020-10-02bcache: remove 'int n' from parameter list of bch_bucket_alloc_set()Coly Li1-1/+1
2020-10-02bcache: check c->root with IS_ERR_OR_NULL() in mca_reserve()Dongsheng Yang1-1/+1
2020-07-25bcache: handle cache set verify_ondisk properly for bucket size > 8MBColy Li1-2/+10
2020-07-25bcache: allocate meta data pages as compound pagesColy Li1-1/+1
2020-07-01block: rename generic_make_request to submit_bio_noacctChristoph Hellwig1-1/+1
2020-06-14bcache: fix potential deadlock problem in btree_gc_coalesceZhiqiang Liu1-2/+6
2020-05-27bcache: Convert pr_<level> uses to a more typical styleJoe Perches1-7/+7
2020-05-27bcache: remove redundant variables i and nColin Ian King1-2/+0
2020-03-22bcache: optimize barrier usage for atomic operationsColy Li1-3/+3
2020-03-22bcache: make bch_btree_check() to be multithreadedColy Li1-3/+166
2020-03-22bcache: add bcache_ prefix to btree_root() and btree() macrosColy Li1-7/+8
2020-03-22bcache: move macro btree() and btree_root() into btree.hColy Li1-59/+1
2020-03-02Revert "bcache: ignore pending signals when creating gc and allocator thread"Jens Axboe1-13/+0
2020-02-13bcache: ignore pending signals when creating gc and allocator threadColy Li1-0/+13
2020-01-23bcache: reap from tail of c->btree_cache in bch_mca_scan()Coly Li1-5/+5
2020-01-23bcache: reap c->btree_cache_freeable from the tail in bch_mca_scan()Coly Li1-3/+3
2020-01-23bcache: remove member accessed from struct btreeColy Li1-6/+2
2019-11-18Revert "bcache: fix fifo index swapping condition in journal_pin_cmp()"Jens Axboe1-26/+0
2019-11-13bcache: at least try to shrink 1 node in bch_mca_scan()Coly Li1-0/+2
2019-11-13bcache: add code comments in bch_btree_leaf_dirty()Coly Li1-0/+5
2019-11-13bcache: fix a lost wake-up problem caused by mca_cannibalize_lockGuoju Fang1-4/+8
2019-11-13bcache: fix fifo index swapping condition in journal_pin_cmp()Coly Li1-0/+26
2019-06-28bcache: fix race in btree_flush_write()Coly Li1-1/+27
2019-06-28bcache: add comments for mutex_lock(&b->write_lock)Coly Li1-0/+10
2019-06-28bcache: only clear BTREE_NODE_dirty bit when it is setColy Li1-5/+6
2019-06-28bcache: remove unncessary code in bch_btree_keys_init()Coly Li1-0/+4
2019-04-30block: remove the i argument to bio_for_each_segment_allChristoph Hellwig1-2/+1
2019-04-30bcache: clean up do_btree_node_write a bitChristoph Hellwig1-4/+5
2019-04-24bcache: fix wrong usage use-after-freed on keylist in out_nocoalesce branch o...Shenghui Wang1-1/+1
2019-02-15block: allow bio_for_each_segment_all() to iterate over multi-page bvecMing Lei1-1/+2
2018-12-13bcache: add comment for cache_set->fill_iterShenghui Wang1-0/+5
2018-10-08bcache: fix miss key refill->end in writebackTang Junhui1-1/+1
2018-08-11bcache: fix indent by replacing blank by tabsColy Li1-2/+2
2018-08-11bcache: style fixes for lines over 80 charactersColy Li1-1/+4
2018-08-11bcache: add identifier names to arguments of function definitionsColy Li1-2/+4
2018-08-11bcache: style fix to add a blank line after declarationsColy Li1-0/+7
2018-08-11bcache: style fix to replace 'unsigned' by 'unsigned int'Coly Li1-25/+25
2018-08-09bcache: avoid unncessary cache prefetch bch_btree_node_get()Coly Li1-7/+7
2018-07-27bcache: calculate the number of incremental GC nodes according to the total o...Tang Junhui1-2/+35
2018-07-27bcache: finish incremental GCTang Junhui1-1/+13
2018-06-15docs: Fix some broken referencesMauro Carvalho Chehab1-1/+1
2018-05-30bcache: convert to bioset_init()/mempool_init()Kent Overstreet1-2/+2
2018-03-18bcache: Fix kernel-doc warningsBart Van Assche1-1/+1
2018-03-18bcache: Fix indentationBart Van Assche1-1/+1
2018-03-18bcache: fix using of loop variable in memory shrinkTang Junhui1-3/+6
2018-03-18bcache: fix error return value in memory shrinkTang Junhui1-1/+1
2018-03-18bcache: add CACHE_SET_IO_DISABLE to struct cache_set flagsColy Li1-3/+8
2018-02-07bcache: fix for allocator and register thread raceTang Junhui1-3/+6
2018-01-08bcache: reduce cache_set devices iteration by devices_max_usedColy Li1-1/+1
2018-01-08bcache: Use PTR_ERR_OR_ZERO()Vasyl Gomonovych1-4/+1
2018-01-06block: move bio_alloc_pages() to bcacheMing Lei1-1/+1
2018-01-06bcache: comment on direct access to bvec tableMing Lei1-0/+1
2017-11-24bcache: check return value of register_shrinkerMichael Lyle1-1/+4
2017-11-14Merge branch 'for-4.15/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-7/+10
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-10-30bcache: update bucket_in_use in real timeTang Junhui1-7/+10
2017-06-09block: switch bios to blk_status_tChristoph Hellwig1-3/+3
2017-03-02sched/headers: Prepare to use <linux/rcuupdate.h> instead of <linux/rculist.h...Ingo Molnar1-0/+2
2017-03-02sched/headers: Prepare for new header dependencies before moving code to <lin...Ingo Molnar1-0/+1
2016-12-17bcache: Make gc wakeup sane, remove set_task_state()Kent Overstreet1-19/+20
2016-11-01block,fs: use REQ_* flags directlyChristoph Hellwig1-2/+2
2016-09-22block: export bio_free_pages to other modulesGuoqing Jiang1-5/+1
2016-06-07bcache: use bio op accessorsMike Christie1-2/+2
2016-05-24bcache: bch_gc_thread() is not freezableJiri Kosina1-2/+0
2015-12-30bcache: Add a cond_resched() call to gcKent Overstreet1-0/+1
2015-12-30bcache: fix a livelock when we cause a huge number of cache missesZheng Liu1-1/+3
2015-07-29block: add a bi_error field to struct bioChristoph Hellwig1-5/+5
2014-08-04bcache: try to set b->parent properlySlava Pestov1-16/+21
2014-08-04bcache: fix use-after-free in btree_gc_coalesce()Slava Pestov1-0/+1
2014-08-04bcache: fix crash in bcache_btree_node_alloc_fail tracepointSlava Pestov1-1/+1
2014-08-04bcache: Allocate bounce buffers with GFP_NOWAITKent Overstreet1-1/+1
2014-08-04bcache: Make sure to pass GFP_WAIT to mempool_alloc()Kent Overstreet1-1/+1
2014-08-04bcache: wait for buckets when allocating new btree rootSlava Pestov1-3/+9
2014-03-18bcache: Kill bucket->gc_genKent Overstreet1-4/+3
2014-03-18bcache: Kill unused freelistKent Overstreet1-4/+37
2014-03-18bcache: Rework btree cache reserve handlingKent Overstreet1-92/+133
2014-03-18bcache: Kill btree_io_wqKent Overstreet1-20/+2
2014-03-18bcache: btree locking reworkKent Overstreet1-45/+119
2014-03-18bcache: Fix a race when freeing btree nodesKent Overstreet1-33/+20
2014-03-18bcache: Add a real GC_MARK_RECLAIMABLEKent Overstreet1-6/+12
2014-03-18bcache: Kill dead cgroup codeKent Overstreet1-4/+0
2014-03-18bcache: Fix another bug recovering from unclean shutdownKent Overstreet1-51/+31
2014-03-18bcache: Fix a bug recovering from unclean shutdownKent Overstreet1-2/+2
2014-01-29bcache: Minor fixes from kbuild robotKent Overstreet1-1/+1
2014-01-29bcache: fix BUG_ON due to integer overflow with GC_SECTORS_USEDDarrick J. Wong1-1/+1
2014-01-08bcache: Don't return -EINTR when insert finishedKent Overstreet1-2/+4
2014-01-08bcache: Move insert_fixup() to btree_keys_opsKent Overstreet1-229/+17
2014-01-08bcache: Convert sorting to btree_keysKent Overstreet1-3/+3
2014-01-08bcache: Convert debug code to btree_keysKent Overstreet1-4/+4
2014-01-08bcache: Convert btree_iter to struct btree_keysKent Overstreet1-11/+11
2014-01-08bcache: Add bch_btree_keys_u64s_remaining()Kent Overstreet1-13/+15
2014-01-08bcache: Add struct btree_keysKent Overstreet1-79/+74
2014-01-08bcache: Abstract out stuff needed for sortingKent Overstreet1-0/+6
2014-01-08bcache: Rename/shuffle various code aroundKent Overstreet1-104/+63
2014-01-08bcache: Add struct bset_sort_stateKent Overstreet1-4/+10
2014-01-08bcache: Split out sort_extent_cmp()Kent Overstreet1-2/+8
2014-01-08bcache: Bkey indexing renamingKent Overstreet1-15/+18
2014-01-08bcache: Make bch_keylist_realloc() take u64s, not nptrsKent Overstreet1-3/+3
2014-01-08bcache: Btree verify code improvementsKent Overstreet1-2/+14
2014-01-08bcache: kill index()Kent Overstreet1-3/+3
2014-01-08bcache: Do bkey_put() in btree_split() error pathKent Overstreet1-1/+4
2014-01-08bcache: Rework allocator reservesKent Overstreet1-2/+32
2014-01-08bcache: kill closure locking usageKent Overstreet1-18/+34
2014-01-08bcache: Minor btree cache fixKent Overstreet1-7/+3
2013-12-31Merge tag 'v3.13-rc6' into for-3.14/coreJens Axboe1-2/+25
2013-12-16bcache: fix for gc and writeback raceNicholas Swenson1-0/+22
2013-12-16bcache: Fix dirty_data accountingKent Overstreet1-1/+2
2013-11-28bcache: fix sparse non static symbol warningWei Yongjun1-1/+1
2013-11-23block: Convert bio_for_each_segment() to bvec_iterKent Overstreet1-2/+2
2013-11-23block: Abstract out bvec iteratorKent Overstreet1-2/+2
2013-11-10bcache: Better full stripe scanningKent Overstreet1-8/+11
2013-11-10bcache: Have btree_split() insert into parent directlyKent Overstreet1-46/+39
2013-11-10bcache: Move spinlock into struct time_statsKent Overstreet1-3/+0
2013-11-10bcache: Kill bch_next_recurse_key()Kent Overstreet1-12/+11
2013-11-10bcache: Avoid deadlocking in garbage collectionKent Overstreet1-10/+11
2013-11-10bcache: Incremental gcKent Overstreet1-163/+225
2013-11-10bcache: Add make_btree_freeing_key()Kent Overstreet1-13/+18
2013-11-10bcache: Add btree_node_write_sync()Kent Overstreet1-19/+16
2013-11-10bcache: PRECEDING_KEY()Kent Overstreet1-7/+2
2013-11-10bcache: Don't bother with bucket refcount for btree node allocationsKent Overstreet1-23/+5
2013-11-10bcache: Debug code improvementsKent Overstreet1-2/+6
2013-11-10bcache: Pull on disk data structures out into a separate headerKent Overstreet1-1/+1
2013-11-10bcache: Convert bch_btree_insert() to bch_btree_map_leaf_nodes()Kent Overstreet1-42/+37
2013-11-10bcache: Don't use op->insert_collisionKent Overstreet1-0/+3
2013-11-10bcache: Kill op->replaceKent Overstreet1-50/+52
2013-11-10bcache: Drop some closure stuffKent Overstreet1-3/+3
2013-11-10bcache: Kill op->clKent Overstreet1-46/+35
2013-11-10bcache: Prune struct btree_opKent Overstreet1-14/+18
2013-11-10bcache: Convert bch_btree_read_async() to bch_btree_map_keys()Kent Overstreet1-133/+0
2013-11-10bcache: Move some stuff to btree.cKent Overstreet1-2/+93
2013-11-10bcache: Add btree_map() functionsKent Overstreet1-51/+123
2013-11-10bcache: Convert gc to a kthreadKent Overstreet1-16/+34
2013-11-10bcache: Convert bucket_wait to wait_queue_head_tKent Overstreet1-15/+10
2013-11-10bcache: Convert try_wait to wait_queue_head_tKent Overstreet1-90/+60
2013-11-10bcache: Move keylist out of btree_opKent Overstreet1-1/+0
2013-11-10bcache: Refactor journalling flow controlKent Overstreet1-3/+0
2013-11-10bcache: Clean up keylist codeKent Overstreet1-6/+6
2013-11-10bcache: Add explicit keylist arg to btree_insert()Kent Overstreet1-12/+14
2013-11-10bcache: Convert btree_insert_check_key() to btree_insert_node()Kent Overstreet1-35/+47
2013-11-10bcache: Insert multiple keys at a timeKent Overstreet1-17/+16
2013-11-10bcache: Add btree_insert_node()Kent Overstreet1-66/+92
2013-11-10bcache: Explicitly track btree node's parentKent Overstreet1-4/+10
2013-11-10bcache: Fix dirty_data accountingKent Overstreet1-4/+7
2013-09-24bcache: Fix a shrinker deadlockKent Overstreet1-1/+1
2013-09-24bcache: Correct printf()-style format length modifierGeert Uytterhoeven1-1/+1
2013-09-10drivers: convert shrinkers to new count/scan APIDave Chinner1-17/+26
2013-07-12bcache: Fix GC_SECTORS_USED() calculationKent Overstreet1-1/+3
2013-07-01bcache: Use standard utility codeKent Overstreet1-5/+2
2013-07-01bcache: Delete fuzz testerKent Overstreet1-2/+2
2013-07-01bcache: Document shrinker reserve betterKent Overstreet1-0/+7
2013-07-01bcache: FUA fixesKent Overstreet1-3/+22
2013-06-26bcache: Write out full stripesKent Overstreet1-9/+10
2013-06-26bcache: Track dirty data by stripeKent Overstreet1-7/+13
2013-06-26bcache: Initialize sectors_dirty when attachingKent Overstreet1-28/+1
2013-06-26bcache: Rip out pkey()/pbtree()Kent Overstreet1-15/+6
2013-06-26bcache: Fix/revamp tracepointsKent Overstreet1-23/+24
2013-06-26bcache: Refactor btree ioKent Overstreet1-149/+125
2013-06-26bcache: Convert allocator thread to kthreadKent Overstreet1-3/+3
2013-04-30bcache: Allocator cleanup/fixesKent Overstreet1-2/+1
2013-04-08bcache: Add missing #include <linux/prefetch.h>Geert Uytterhoeven1-0/+1
2013-04-08bcache: Sparse fixesKent Overstreet1-1/+1
2013-03-28bcache: Don't export utility code, prefix with bch_Kent Overstreet1-9/+9
2013-03-25bcache: Style/checkpatch fixesKent Overstreet1-2/+2
2013-03-25bcache: Build fixes from test robotKent Overstreet1-1/+1