aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/delayed-ref.c
AgeCommit message (Expand)AuthorFilesLines
2025-09-23btrfs: annotate btrfs_is_testing() as unlikely and make it return boolFilipe Manana1-4/+3
2025-09-23btrfs: fix typos in comments and stringsDavid Sterba1-1/+1
2025-09-22btrfs: move ref-verify under CONFIG_BTRFS_DEBUGLeo Martins1-2/+2
2025-07-21btrfs: add btrfs prefix to is_fstree() and make it return boolFilipe Manana1-5/+5
2025-05-15btrfs: simplify return logic from btrfs_delayed_ref_init()Yangtao Li1-1/+1
2025-05-15btrfs: use rb_entry_safe() where possible to simplify codeDavid Sterba1-5/+2
2025-01-13btrfs: update tree_insert() to use rb helpersRoger L. Beckermeyer III1-27/+18
2025-01-13btrfs: drop fs_info argument from btrfs_update_space_info_*()Naohiro Aota1-3/+2
2025-01-13btrfs: selftests: add delayed ref self test casesJosef Bacik1-3/+10
2025-01-13btrfs: move select_delayed_ref() and export itJosef Bacik1-0/+26
2024-11-18Merge tag 'for-6.13-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kda...Linus Torvalds1-129/+196
2024-11-14btrfs: fix incorrect comparison for delayed refsJosef Bacik1-1/+1
2024-11-11btrfs: remove no longer used delayed ref head search functionalityFilipe Manana1-29/+5
2024-11-11btrfs: track delayed ref heads in an xarrayFilipe Manana1-104/+88
2024-11-11btrfs: assert delayed refs lock is held at add_delayed_ref_head()Filipe Manana1-0/+1
2024-11-11btrfs: assert delayed refs lock is held at find_first_ref_head()Filipe Manana1-0/+2
2024-11-11btrfs: assert delayed refs lock is held at find_ref_head()Filipe Manana1-2/+2
2024-11-11btrfs: pass fs_info to btrfs_delete_ref_head()Filipe Manana1-2/+3
2024-11-11btrfs: pass fs_info to functions that search for delayed ref headsFilipe Manana1-4/+8
2024-11-11btrfs: move delayed ref head unselection to delayed-ref.cFilipe Manana1-0/+10
2024-11-11btrfs: simplify obtaining a delayed ref headFilipe Manana1-5/+22
2024-11-11btrfs: change return type of btrfs_delayed_ref_lock() to booleanFilipe Manana1-6/+6
2024-11-11btrfs: remove num_entries atomic counter from delayed ref rootFilipe Manana1-4/+0
2024-11-11btrfs: use helper to find first ref head at btrfs_destroy_delayed_refs()Filipe Manana1-4/+5
2024-11-11btrfs: remove duplicated code to drop delayed ref during transaction abortFilipe Manana1-7/+1
2024-11-11btrfs: remove fs_info parameter from btrfs_destroy_delayed_refs()Filipe Manana1-2/+2
2024-11-11btrfs: move btrfs_destroy_delayed_refs() to delayed-ref.cFilipe Manana1-0/+81
2024-11-11btrfs: qgroups: remove bytenr field from struct btrfs_qgroup_extent_recordFilipe Manana1-4/+4
2024-11-07btrfs: reinitialize delayed ref list after deleting it from the listFilipe Manana1-1/+1
2024-10-11btrfs: use sector numbers as keys for the dirty extents xarrayFilipe Manana1-7/+8
2024-10-07btrfs: fix missing error handling when adding delayed ref with qgroups enabledFilipe Manana1-9/+33
2024-09-10btrfs: qgroup: use xarray to track dirty extents in transactionJunchao Sun1-3/+14
2024-09-10btrfs: qgroup: use goto style to handle errors in add_delayed_ref()Junchao Sun1-9/+10
2024-08-13btrfs: check delayed refs when we're checking if a ref existsJosef Bacik1-0/+67
2024-07-11btrfs: avoid allocating and running pointless delayed extent operationsFilipe Manana1-1/+8
2024-07-11btrfs: remove no longer used btrfs_migrate_to_delayed_refs_rsv()Filipe Manana1-42/+0
2024-05-07btrfs: replace btrfs_delayed_*_ref with btrfs_*_refJosef Bacik1-6/+4
2024-05-07btrfs: rename btrfs_data_ref->ino to ->objectidJosef Bacik1-2/+2
2024-05-07btrfs: move ->parent and ->ref_root into btrfs_delayed_ref_nodeJosef Bacik1-56/+26
2024-05-07btrfs: rename ->len to ->num_bytes in btrfs_refJosef Bacik1-4/+4
2024-05-07btrfs: unify the btrfs_add_delayed_*_ref helpers into one helperJosef Bacik1-77/+25
2024-05-07btrfs: simplify delayed ref tracepointsJosef Bacik1-12/+2
2024-05-07btrfs: move ref specific initialization into init_delayed_ref_commonJosef Bacik1-14/+11
2024-05-07btrfs: initialize btrfs_delayed_ref_head with btrfs_refJosef Bacik1-28/+25
2024-05-07btrfs: pass btrfs_ref to init_delayed_ref_commonJosef Bacik1-21/+8
2024-05-07btrfs: move ref_root into btrfs_refJosef Bacik1-16/+13
2024-05-07btrfs: do not use a function to initialize btrfs_refJosef Bacik1-10/+0
2024-05-07btrfs: embed data_ref and tree_ref in btrfs_delayed_ref_nodeJosef Bacik1-34/+17
2024-05-07btrfs: add a helper to get the delayed ref node from the data/tree refJosef Bacik1-9/+19
2024-03-05btrfs: remove SLAB_MEM_SPREAD flag useChengming Zhou1-8/+4
2024-03-04btrfs: use KMEM_CACHE() to create delayed ref cachesKunwu Chan1-16/+8
2024-03-04btrfs: uninline some static inline helpers from delayed-ref.hDavid Sterba1-0/+65
2023-11-09btrfs: fix qgroup record leaks when using simple quotasFilipe Manana1-2/+2
2023-10-12btrfs: stop reserving excessive space for block group item insertionsFilipe Manana1-0/+35
2023-10-12btrfs: stop reserving excessive space for block group item updatesFilipe Manana1-0/+35
2023-10-12btrfs: record simple quota deltas in delayed refsBoris Burkov1-0/+1
2023-10-12btrfs: track original extent owner in head_refBoris Burkov1-4/+15
2023-10-12btrfs: rename tree_ref and data_ref owning_rootBoris Burkov1-5/+5
2023-10-12btrfs: qgroup: add new quota mode for simple quotasBoris Burkov1-4/+2
2023-10-12btrfs: always reserve space for delayed refs when starting transactionFilipe Manana1-1/+20
2023-10-12btrfs: stop doing excessive space reservation for csum deletionFilipe Manana1-13/+20
2023-10-12btrfs: remove pointless initialization at btrfs_delayed_refs_rsv_release()Filipe Manana1-1/+1
2023-10-12btrfs: reserve space for delayed refs on a per ref basisFilipe Manana1-10/+22
2023-10-12btrfs: pass a space_info argument to btrfs_reserve_metadata_bytes()Filipe Manana1-3/+3
2023-10-12btrfs: reformat remaining kdoc style commentsDavid Sterba1-2/+1
2023-09-20btrfs: prevent transaction block reserve underflow when starting transactionFilipe Manana1-8/+1
2023-09-20btrfs: fix race when refilling delayed refs block reserveFilipe Manana1-3/+34
2023-06-19btrfs: use a single switch statement when initializing delayed ref headFilipe Manana1-20/+24
2023-06-19btrfs: use bool type for delayed ref head fields that are used as booleansFilipe Manana1-6/+6
2023-06-19btrfs: assert correct lock is held at btrfs_select_ref_head()Filipe Manana1-0/+1
2023-06-19btrfs: get rid of label and goto at insert_delayed_ref()Filipe Manana1-11/+8
2023-06-19btrfs: make insert_delayed_ref() return a bool instead of an intFilipe Manana1-13/+14
2023-06-19btrfs: use a bool to track qgroup record insertion when adding ref headFilipe Manana1-5/+5
2023-06-19btrfs: remove pointless in_tree field from struct btrfs_delayed_ref_nodeFilipe Manana1-2/+0
2023-06-19btrfs: remove unused is_head field from struct btrfs_delayed_ref_nodeFilipe Manana1-1/+0
2023-04-17btrfs: add helper to calculate space for delayed referencesFilipe Manana1-36/+4
2023-04-17btrfs: calculate the right space for a single delayed ref when refillingFilipe Manana1-0/+11
2023-04-17btrfs: remove obsolete delayed ref throttling logic when truncating itemsFilipe Manana1-16/+0
2023-04-17btrfs: simplify btrfs_should_throttle_delayed_refs()Filipe Manana1-4/+2
2023-04-17btrfs: pass a bool size update argument to btrfs_block_rsv_add_bytes()Filipe Manana1-1/+1
2023-02-13btrfs: directly pass in fs_info to btrfs_merge_delayed_refsJohannes Thumshirn1-2/+1
2023-02-13btrfs: drop trans parameter of insert_delayed_refJohannes Thumshirn1-4/+3
2023-02-13btrfs: remove trans parameter of merge_refJohannes Thumshirn1-3/+2
2023-02-13btrfs: drop unused trans parameter of drop_delayed_refJohannes Thumshirn1-5/+4
2022-12-05btrfs: update function commentsDavid Sterba1-10/+9
2022-12-05btrfs: move mount option definitions to fs.hJosef Bacik1-0/+1
2022-12-05btrfs: move the printk helpers out of ctree.hJosef Bacik1-0/+1
2022-07-25btrfs: switch btrfs_block_rsv::full to boolDavid Sterba1-2/+2
2022-05-16btrfs: remove btrfs_delayed_extent_op::is_dataDavid Sterba1-3/+1
2022-01-07btrfs: reserve extra space for the free space treeJosef Bacik1-0/+22
2022-01-03btrfs: change root to fs_info for btrfs_reserve_metadata_bytesJosef Bacik1-2/+1
2021-10-26btrfs: pull up qgroup checks from delayed-ref core to init timeNikolay Borisov1-4/+0
2021-10-26btrfs: rely on owning_root field in btrfs_add_delayed_tree_ref to detect CHUN...Nikolay Borisov1-1/+1
2021-10-26btrfs: rename root fields in delayed refs structsNikolay Borisov1-6/+7
2021-07-22btrfs: fix lock inversion problem when doing qgroup extent tracingFilipe Manana1-2/+2
2021-06-22btrfs: rip out btrfs_space_info::total_bytes_pinnedJosef Bacik1-26/+0
2021-04-19btrfs: update debug message when checking seq number of a delayed refFilipe Manana1-3/+2
2021-04-19btrfs: add and use helper to get lowest sequence number for the tree mod logFilipe Manana1-24/+9
2021-04-19btrfs: move the tree mod log code into its own fileFilipe Manana1-4/+5
2021-02-08btrfs: account for new extents being deleted in total_bytes_pinnedJosef Bacik1-0/+5
2021-02-08btrfs: handle space_info::total_bytes_pinned inside the delayed ref itselfJosef Bacik1-21/+30
2021-02-08btrfs: fix parameter description in delayed-ref.c functionsNikolay Borisov1-10/+13
2020-03-23btrfs: Remove __ prefix from btrfs_block_rsv_releaseNikolay Borisov1-2/+1
2020-01-31Btrfs: fix race between adding and putting tree mod seq elements and nodesFilipe Manana1-4/+4
2019-09-09btrfs: rename btrfs_space_info_add_old_bytesJosef Bacik1-1/+1
2019-09-09btrfs: rename the btrfs_calc_*_metadata_size helpersJosef Bacik1-4/+4
2019-07-04btrfs: migrate the delayed refs rsv codeJosef Bacik1-0/+174
2019-07-02btrfs: assert delayed ref lock in btrfs_find_delayed_ref_headDavid Sterba1-3/+4
2019-04-29btrfs: remove unused parameter fs_info from btrfs_add_delayed_extent_opDavid Sterba1-2/+1
2019-04-29btrfs: delayed-ref: Use btrfs_ref to refactor btrfs_add_delayed_data_ref()Qu Wenruo1-5/+14
2019-04-29btrfs: delayed-ref: Use btrfs_ref to refactor btrfs_add_delayed_tree_ref()Qu Wenruo1-7/+17
2019-02-25btrfs: qgroup: Move reserved data accounting from btrfs_delayed_ref_head to b...Qu Wenruo1-11/+4
2018-12-17btrfs: introduce delayed_refs_rsvJosef Bacik1-6/+38
2018-12-17btrfs: only track ref_heads in delayed_ref_updatesJosef Bacik1-3/+0
2018-12-17btrfs: add btrfs_delete_ref_head helperJosef Bacik1-0/+14
2018-10-17btrfs: delayed-ref: extract find_first_ref_head from find_ref_headLu Fengqi1-23/+27
2018-10-15btrfs: switch return_bigger to bool in find_ref_headLu Fengqi1-5/+6
2018-10-15btrfs: delayed-ref: pass delayed_refs directly to btrfs_delayed_ref_lockLu Fengqi1-4/+1
2018-10-15btrfs: delayed-ref: pass delayed_refs directly to btrfs_select_ref_headLu Fengqi1-5/+2
2018-10-15Btrfs: delayed-refs: use rb_first_cached for ref_treeLiu Bo1-10/+14
2018-10-15Btrfs: delayed-refs: use rb_first_cached for href_rootLiu Bo1-13/+17
2018-08-06btrfs: Streamline memory allocation failure handling in btrfs_add_delayed_tre...Nikolay Borisov1-18/+17
2018-08-06btrfs: Remove fs_info from btrfs_add_delayed_data_refNikolay Borisov1-2/+2
2018-08-06btrfs: Remove fs_info from btrfs_add_delayed_tree_refNikolay Borisov1-2/+2
2018-05-28btrfs: split delayed ref head initialization and additionNikolay Borisov1-25/+22
2018-05-28btrfs: Use init_delayed_ref_head in add_delayed_ref_headNikolay Borisov1-59/+4
2018-05-28btrfs: Introduce init_delayed_ref_headNikolay Borisov1-0/+65
2018-05-28btrfs: Open-code add_delayed_data_refNikolay Borisov1-40/+22
2018-05-28btrfs: Open-code add_delayed_tree_refNikolay Borisov1-45/+20
2018-05-28btrfs: Use init_delayed_ref_common in add_delayed_data_refNikolay Borisov1-25/+10
2018-05-28btrfs: Use init_delayed_ref_common in add_delayed_tree_refNikolay Borisov1-24/+11
2018-05-28btrfs: Factor out common delayed refs init codeNikolay Borisov1-0/+51
2018-05-28btrfs: Drop fs_info parameter from btrfs_merge_delayed_refsNikolay Borisov1-1/+1
2018-05-28btrfs: Drop fs_info parameter from add_delayed_data_refNikolay Borisov1-7/+5
2018-05-28btrfs: Drop add_delayed_ref_head fs_info parameterNikolay Borisov1-11/+10
2018-05-28btrfs: Drop delayed_refs argument from btrfs_check_delayed_seqNikolay Borisov1-6/+3
2018-04-20btrfs: Fix race condition between delayed refs and blockgroup removalNikolay Borisov1-5/+14
2018-04-12btrfs: replace GPL boilerplate by SPDX -- sourcesDavid Sterba1-14/+1
2018-03-31btrfs: use lockdep_assert_held for spinlocksDavid Sterba1-3/+3
2018-03-26btrfs: add more __cold annotationsDavid Sterba1-1/+1
2018-02-02btrfs: Ignore errors from btrfs_qgroup_trace_extent_postNikolay Borisov1-1/+2
2018-01-22Btrfs: add __init macro to btrfs init functionsLiu Bo1-1/+1
2017-11-01btrfs: track refs in a rb_tree instead of a listJosef Bacik1-52/+56
2017-11-01btrfs: add a comp_refs() helperJosef Bacik1-24/+30
2017-11-01btrfs: switch args for comp_*_refsJosef Bacik1-4/+4
2017-10-30btrfs: remove type argument from comp_tree_refsJosef Bacik1-6/+4
2017-10-30btrfs: remove delayed_ref_node from ref_headJosef Bacik1-72/+54
2017-06-29Btrfs: return old and new total ref mods when adding delayed refsOmar Sandoval1-8/+21
2017-04-18btrfs: convert btrfs_delayed_ref_node.refs from atomic_t to refcount_tElena Reshetova1-4/+4
2017-02-17btrfs: qgroup: Move half of the qgroup accounting time out of commit transQu Wenruo1-4/+16
2017-02-14Btrfs: pass delayed_refs directly to btrfs_find_delayed_ref_headLiu Bo1-4/+1
2017-02-14btrfs: drop unused extent_op arg from btrfs_add_delayed_data_refJeff Mahoney1-4/+2
2016-11-30btrfs: improve delayed refs iterationsWang Xiaoguang1-0/+18
2016-11-30btrfs: qgroup: Rename functions to make it follow reserve,trace,account stepsQu Wenruo1-1/+1
2016-09-26btrfs: convert pr_* to btrfs_* where possibleJeff Mahoney1-4/+5
2016-09-26Btrfs: add a flags field to btrfs_fs_infoJosef Bacik1-2/+4
2016-08-25btrfs: qgroup: Refactor btrfs_qgroup_insert_dirty_extent()Qu Wenruo1-5/+2
2016-08-05Merge branch 'integration-4.8' of git://git.kernel.org/pub/scm/linux/kernel/g...Chris Mason1-27/+0
2016-08-03Btrfs: remove unused function btrfs_add_delayed_qgroup_reserve()Filipe Manana1-27/+0
2016-07-26btrfs: prefix fsid to all trace eventsJeff Mahoney1-4/+5
2016-07-26btrfs: Fix slab accounting flagsNikolay Borisov1-4/+4
2016-02-18btrfs: drop null testing before destroy functionsKinglong Mee1-8/+4
2016-01-07btrfs: better packing of btrfs_delayed_extent_opDavid Sterba1-2/+2
2015-10-26btrfs: qgroup: Fix a race in delayed_ref which leads to abort transQu Wenruo1-5/+17
2015-10-25Btrfs: fix regression running delayed references when using qgroupsFilipe Manana1-20/+8
2015-10-25Btrfs: fix regression when running delayed referencesFilipe Manana1-0/+113
2015-10-21btrfs: delayed_ref: Add new function to record reserved space into delayed refQu Wenruo1-0/+29
2015-06-24btrfs: delayed-ref: double free in btrfs_add_delayed_tree_ref()Dan Carpenter1-9/+11
2015-06-10btrfs: qgroup: Record possible quota-related extent for qgroup.Qu Wenruo1-7/+43
2015-06-10btrfs: delayed-ref: Cleanup the unneeded functions.Qu Wenruo1-174/+0
2015-06-10btrfs: delayed-ref: Use list to replace the ref_root in ref_head.Qu Wenruo1-74/+82
2015-04-10Btrfs: account for crcs in delayed ref processingJosef Bacik1-2/+20
2014-06-09Btrfs: rework qgroup accountingJosef Bacik1-16/+23
2014-03-20Btrfs: fix race when updating existing ref headFilipe Manana1-1/+1
2014-03-10Btrfs: cleanup delayed-ref.c:find_ref_head()Filipe Manana1-18/+6
2014-03-10Btrfs: remove unnecessary ref heads rb tree searchFilipe Manana1-4/+3
2014-01-28Btrfs: attach delayed ref updates to delayed ref headsJosef Bacik1-115/+108
2014-01-28Btrfs: skip merge part for delayed data refsLiu Bo1-0/+7
2014-01-28Btrfs: introduce a head ref rbtreeLiu Bo1-52/+74
2013-09-01Btrfs: get rid of sparse warningsStefan Behrens1-1/+1
2013-09-01Btrfs/tracepoint: update delayed ref tracepointsLiu Bo1-3/+3
2013-05-06Btrfs: separate sequence numbers for delayed ref tracking and tree mod logJan Schmidt1-2/+4
2013-05-06Btrfs: compare relevant parts of delayed tree refsJosef Bacik1-10/+14
2013-02-20Btrfs: make delayed ref lock logic more readableMiao Xie1-0/+8
2013-02-20Btrfs: use slabs for delayed reference allocationMiao Xie1-11/+63
2012-08-28Btrfs: allow delayed refs to be mergedJosef Bacik1-27/+128
2012-08-28Btrfs: fix deadlock in wait_for_more_refsArne Jansen1-8/+0
2012-07-12Btrfs: hooks for qgroup to record delayed refsJan Schmidt1-6/+10
2012-07-10Btrfs: join tree mod log code with the code holding back delayed refsJan Schmidt1-20/+24
2012-05-30Btrfs: use delayed ref sequence numbers for all fs-tree updatesJan Schmidt1-4/+6
2012-03-22btrfs: return void in functions without error conditionsJeff Mahoney1-19/+8
2012-03-22btrfs: Fix kfree of member instead of structureJeff Mahoney1-3/+3
2012-01-04Btrfs: add waitqueue instead of doing busy waiting for more delayed refsJan Schmidt1-0/+8
2012-01-04Btrfs: put back delayed refs that are too newArne Jansen1-18/+25
2012-01-04Btrfs: add sequence numbers to delayed refsArne Jansen1-0/+34
2011-12-22Btrfs: always save ref_root in delayed refsArne Jansen1-10/+8
2011-12-22Btrfs: mark delayed refs as for cowArne Jansen1-19/+31
2011-05-06btrfs: remove old unused commented out codeDavid Sterba1-76/+0
2011-05-06btrfs: remove all unused functionsDavid Sterba1-38/+0
2011-03-28Btrfs: add initial tracepoint support for btrfsliubo1-0/+6