aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ctree.c
AgeCommit message (Expand)AuthorFilesLines
2025-11-25btrfs: remove redundant level reset in btrfs_del_items()Sun YangKai1-3/+1
2025-11-25btrfs: simplify leaf traversal after path release in btrfs_next_old_leaf()Sun YangKai1-25/+14
2025-11-25btrfs: optimize balance_level() path reference handlingSun YangKai1-3/+3
2025-11-25btrfs: factor out root promotion logic into promote_child_to_root()Sun YangKai1-46/+70
2025-11-24btrfs: use bool type for btrfs_path members used as booleansFilipe Manana1-14/+14
2025-11-24btrfs: update check_skip variable after unlocking current nodeFilipe Manana1-1/+1
2025-11-24btrfs: abort transaction on item count overflow in __push_leaf_left()Filipe Manana1-3/+7
2025-11-24btrfs: always use right leaf variable in __push_leaf_left()Filipe Manana1-2/+2
2025-11-24btrfs: remove duplicated leaf dirty status clearing in __push_leaf_right()Filipe Manana1-2/+0
2025-11-24btrfs: always use left leaf variable in __push_leaf_right()Filipe Manana1-4/+4
2025-11-24btrfs: add unlikely to critical error in btrfs_extend_item()Filipe Manana1-1/+1
2025-11-24btrfs: remove pointless return value update in btrfs_del_items()Filipe Manana1-1/+0
2025-11-24btrfs: fix leaf leak in an error path in btrfs_del_items()Filipe Manana1-1/+1
2025-11-24btrfs: remove pointless data_end assignment in btrfs_extent_item()Filipe Manana1-1/+0
2025-11-24btrfs: use the key format macros when printing keysFilipe Manana1-10/+7
2025-09-23btrfs: add unlikely annotations to branches leading to transaction abortDavid Sterba1-25/+25
2025-09-23btrfs: add unlikely annotations to branches leading to EUCLEANDavid Sterba1-5/+5
2025-09-23btrfs: make the rule checking more readable for should_cow_block()Filipe Manana1-14/+23
2025-09-23btrfs: mark leaf space and overflow checks as unlikely on insert and extensionFilipe Manana1-7/+7
2025-09-23btrfs: mark as unlikely not uptodate extent buffer checks when navigating btreesFilipe Manana1-4/+4
2025-09-22btrfs: convert several int parameters to boolDavid Sterba1-8/+8
2025-07-22btrfs: don't use token set/get accessors for btrfs_item membersDavid Sterba1-33/+18
2025-07-22btrfs: clear dirty status from extent buffer on error at insert_new_root()Filipe Manana1-0/+1
2025-07-21btrfs: remove partial support for lowest level from btrfs_search_forward()Sun YangKai1-13/+5
2025-07-21btrfs: use refcount_t type for the extent buffer reference counterFilipe Manana1-7/+7
2025-07-21btrfs: rename err to ret2 in btrfs_search_old_slot()David Sterba1-5/+5
2025-07-21btrfs: rename err to ret2 in btrfs_search_slot()David Sterba1-19/+18
2025-07-21btrfs: rename err to ret2 in search_leaf()David Sterba1-9/+8
2025-07-21btrfs: rename err to ret2 in read_block_for_search()David Sterba1-7/+7
2025-07-21btrfs: constify more pointer parametersDavid Sterba1-10/+10
2025-07-21btrfs: abort transaction on unexpected eb generation at btrfs_copy_root()Filipe Manana1-1/+8
2025-07-21btrfs: unfold transaction abort at btrfs_copy_root()Filipe Manana1-3/+7
2025-03-18btrfs: avoid redundant path slot assignment in btrfs_search_forward()Sun YangKai1-2/+1
2025-03-18btrfs: remove unnecessary btrfs_key local variable in btrfs_search_forward()Sun YangKai1-7/+5
2025-03-18btrfs: do trivial BTRFS_PATH_AUTO_FREE conversionsDavid Sterba1-2/+1
2025-01-23btrfs: fix lockdep splat while merging a relocation rootFilipe Manana1-0/+2
2025-01-14btrfs: implement hole punching for RAID stripe extentsJohannes Thumshirn1-0/+1
2025-01-13btrfs: move csum related functions from ctree.c into fs.cFilipe Manana1-51/+0
2025-01-13btrfs: move abort_should_print_stack() to transaction.hFilipe Manana1-16/+0
2024-12-23btrfs: fix use-after-free when COWing tree bock and tracing is enabledFilipe Manana1-7/+4
2024-11-29btrfs: add a sanity check for btrfs root in btrfs_search_slot()Lizhi Xu1-1/+5
2024-11-11btrfs: remove local generation variable from read_block_for_search()Filipe Manana1-4/+2
2024-11-11btrfs: simplify arguments for btrfs_verify_level_key()Filipe Manana1-2/+1
2024-11-11btrfs: remove redundant level argument from read_block_for_search()Filipe Manana1-11/+9
2024-11-11btrfs: reduce lock contention when eb cache miss for btree searchRobbie Ko1-31/+70
2024-11-11btrfs: drop unused parameter path from btrfs_tree_mod_log_rewind()David Sterba1-1/+1
2024-09-10btrfs: constify more pointer parametersDavid Sterba1-9/+9
2024-07-11btrfs: fix data race when accessing the last_trans field of a rootFilipe Manana1-2/+2
2024-07-11btrfs: replace BUG_ON() with error handling at update_ref_for_cow()Filipe Manana1-2/+10
2024-07-11btrfs: simplify setting the full backref flag at update_ref_for_cow()Filipe Manana1-7/+4
2024-07-11btrfs: use label to deduplicate error path at btrfs_force_cow_block()Filipe Manana1-21/+12
2024-07-11btrfs: do not BUG_ON() when freeing tree block after errorFilipe Manana1-11/+42
2024-07-11btrfs: remove all extra btrfs_check_eb_owner() callsJosef Bacik1-6/+1
2024-05-07btrfs: change root->root_key.objectid to btrfs_root_id()Josef Bacik1-21/+18
2024-05-07btrfs: locking: rename __btrfs_tree_lock() and __btrfs_tree_read_lock()Filipe Manana1-6/+6
2024-03-05btrfs: remove SLAB_MEM_SPREAD flag useChengming Zhou1-1/+1
2024-03-04btrfs: use KMEM_CACHE() to create btrfs_path cacheKunwu Chan1-3/+1
2024-03-04btrfs: unify handling of return values of btrfs_insert_empty_items()David Sterba1-0/+4
2024-03-04btrfs: cache folio size and shift in extent_bufferQu Wenruo1-1/+1
2023-12-15btrfs: migrate get_eb_page_index() and get_eb_offset_in_page() to foliosQu Wenruo1-6/+7
2023-12-15btrfs: migrate extent_buffer::pages[] to folioQu Wenruo1-1/+1
2023-12-15btrfs: make the logic from btrfs_block_can_be_shared() easier to readFilipe Manana1-16/+24
2023-12-15btrfs: use bool for return type of btrfs_block_can_be_shared()Filipe Manana1-6/+6
2023-11-13Merge tag 'for-6.7-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-1/+1
2023-11-03btrfs: get correct owning_root when dropping snapshotJosef Bacik1-1/+1
2023-10-30Merge tag 'for-6.7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdav...Linus Torvalds1-234/+106
2023-10-23btrfs: fix unwritten extent buffer after snapshotting a new subvolumeFilipe Manana1-5/+16
2023-10-12btrfs: move btrfs_realloc_node() from ctree.c into defrag.cFilipe Manana1-112/+0
2023-10-12btrfs: export comp_keys() from ctree.c as btrfs_comp_keys()Filipe Manana1-37/+7
2023-10-12btrfs: rename and export __btrfs_cow_block()Filipe Manana1-15/+15
2023-10-12btrfs: use round_down() to align block offset at btrfs_cow_block()Filipe Manana1-1/+1
2023-10-12btrfs: remove noinline attribute from btrfs_cow_block()Filipe Manana1-1/+1
2023-10-12btrfs: qgroup: track metadata relocation COW with simple quotaBoris Burkov1-8/+14
2023-10-12btrfs: abort transaction on generation mismatch when marking eb as dirtyFilipe Manana1-50/+59
2023-10-12btrfs: rename errno identifiers to errorDavid Sterba1-2/+2
2023-10-12btrfs: reduce arguments of helpers space accounting root itemDavid Sterba1-12/+11
2023-10-12btrfs: reformat remaining kdoc style commentsDavid Sterba1-2/+2
2023-10-04btrfs: error out when reallocating block for defrag using a stale transactionFilipe Manana1-2/+16
2023-10-04btrfs: error when COWing block from a root that is being deletedFilipe Manana1-3/+7
2023-10-04btrfs: error out when COWing block using a stale transactionFilipe Manana1-8/+16
2023-06-19btrfs: replace BUG_ON() at split_item() with proper error handlingFilipe Manana1-1/+6
2023-06-19btrfs: do not BUG_ON() on tree mod log failures at btrfs_del_ptr()Filipe Manana1-13/+39
2023-06-19btrfs: do not BUG_ON() on tree mod log failures at insert_ptr()Filipe Manana1-19/+52
2023-06-19btrfs: do not BUG_ON() on tree mod log failure at insert_new_root()Filipe Manana1-1/+6
2023-06-19btrfs: do not BUG_ON() on tree mod log failures at push_nodes_for_insert()Filipe Manana1-2/+12
2023-06-19btrfs: abort transaction at update_ref_for_cow() when ref count is zeroFilipe Manana1-3/+7
2023-06-19btrfs: abort transaction at balance_level() when left child is missingFilipe Manana1-3/+7
2023-06-19btrfs: avoid unnecessarily setting the fs to RO and error state at balance_le...Filipe Manana1-1/+0
2023-06-19btrfs: rename enospc label to out at balance_level()Filipe Manana1-12/+12
2023-06-19btrfs: do not BUG_ON() on tree mod log failure at balance_level()Filipe Manana1-3/+14
2023-06-19btrfs: do not BUG_ON() on tree mod log failure at __btrfs_cow_block()Filipe Manana1-2/+7
2023-06-19btrfs: fix extent buffer leak after tree mod log failure at split_node()Filipe Manana1-0/+2
2023-06-19btrfs: add missing error handling when logging operation while COWing extent ...Filipe Manana1-2/+8
2023-06-19btrfs: insert tree mod log move in push_node_leftBoris Burkov1-4/+7
2023-06-19btrfs: rename del_ptr to btrfs_del_ptr and export itJosef Bacik1-8/+8
2023-06-19btrfs: add a btrfs_csum_type_size helperJosef Bacik1-1/+7
2023-06-19btrfs: remove level argument from btrfs_set_block_flagsJosef Bacik1-4/+1
2023-06-19btrfs: improve leaf dump and error handlingQu Wenruo1-2/+2
2023-06-19btrfs: print-tree: pass const extent buffer pointerQu Wenruo1-2/+2
2023-06-19btrfs: tag as unlikely the key comparison when checking sibling keysFilipe Manana1-1/+1
2023-06-19btrfs: unexport btrfs_prev_leaf()Filipe Manana1-80/+81
2023-04-28btrfs: print extent buffers when sibling keys check failsFilipe Manana1-0/+4
2023-04-28btrfs: abort transaction when sibling keys check fails for leavesFilipe Manana1-0/+2
2023-04-28btrfs: fix btrfs_prev_leaf() to not return the same key twiceFilipe Manana1-1/+31
2023-04-17btrfs: remove pointless loop at btrfs_get_next_valid_item()Filipe Manana1-17/+6
2023-04-17btrfs: open code btrfs_bin_search()Anand Jain1-6/+7
2023-04-17btrfs: handle errors from btrfs_read_node_slot in splitJosef Bacik1-27/+26
2023-04-17btrfs: replace BUG_ON with ASSERT in btrfs_read_node_slotJosef Bacik1-1/+1
2023-02-15btrfs: do unsigned integer division in the extent buffer binary search loopFilipe Manana1-6/+11
2023-02-15btrfs: eliminate extra call when doing binary search on extent bufferFilipe Manana1-13/+3
2023-02-15btrfs: rename btrfs_clean_tree_block to btrfs_clear_buffer_dirtyJosef Bacik1-8/+8
2023-02-15btrfs: add trans argument to btrfs_clean_tree_blockJosef Bacik1-15/+16
2022-12-05btrfs: add might_sleep() annotationsChenXiaoSong1-0/+4
2022-12-05btrfs: remove BTRFS_LEAF_DATA_OFFSETJosef Bacik1-4/+4
2022-12-05btrfs: add helpers for manipulating leaf items and dataJosef Bacik1-66/+115
2022-12-05btrfs: add eb to btrfs_node_key_ptr_offsetJosef Bacik1-14/+14
2022-12-05btrfs: pass the extent buffer for the btrfs_item_nr helpersJosef Bacik1-17/+18
2022-12-05btrfs: move file_extent_item helpers into file-item.hJosef Bacik1-0/+1
2022-12-05btrfs: move leaf_data_end into ctree.cJosef Bacik1-0/+13
2022-12-05btrfs: concentrate all tree block parentness check parameters into one structureQu Wenruo1-11/+17
2022-12-05btrfs: move relocation prototypes into relocation.hJosef Bacik1-0/+1
2022-12-05btrfs: update function commentsDavid Sterba1-5/+6
2022-12-05btrfs: move extent-tree helpers into their own header fileJosef Bacik1-0/+1
2022-12-05btrfs: move btrfs_map_token to accessorsJosef Bacik1-0/+1
2022-12-05btrfs: move BTRFS_FS_STATE* definitions and helpers to fs.hJosef Bacik1-0/+1
2022-12-05btrfs: move the printk helpers out of ctree.hJosef Bacik1-0/+1
2022-12-05btrfs: remove gfp_t flag from btrfs_tree_mod_log_insert_key()Filipe Manana1-8/+8
2022-12-05btrfs: switch GFP_ATOMIC to GFP_NOFS when fixing up low keysFilipe Manana1-1/+1
2022-12-05btrfs: move btrfs_next_old_item into ctree.cJosef Bacik1-0/+8
2022-12-05btrfs: move btrfs_path_cachep out of ctree.hJosef Bacik1-0/+17
2022-11-15btrfs: fix assertion failure and blocking during nowait buffered writeFilipe Manana1-6/+30
2022-11-07btrfs: don't print stack trace when transaction is aborted due to ENOMEMDavid Sterba1-0/+16
2022-09-29btrfs: assert nowait mode is not used for some btree search functionsStefan Roesch1-0/+4
2022-09-26btrfs: implement a nowait option for tree searchesJosef Bacik1-3/+36
2022-08-17btrfs: fix lockdep splat with reloc root extent buffersJosef Bacik1-0/+3
2022-05-16btrfs: sink parameter is_data to btrfs_set_disk_extent_flagsDavid Sterba1-1/+1
2022-05-16btrfs: tree-checker: check extent buffer owner against owner rootidQu Wenruo1-0/+6
2022-05-16btrfs: introduce btrfs_for_each_slot iterator macroGabriel Niebler1-0/+37
2022-05-16btrfs: remove trivial wrapper btrfs_read_buffer()Filipe Manana1-1/+1
2022-05-16btrfs: update outdated comment for read_block_for_search()Filipe Manana1-5/+6
2022-05-16btrfs: release upper nodes when reading stale btree node from diskFilipe Manana1-9/+19
2022-05-16btrfs: avoid unnecessary btree search restarts when reading nodeFilipe Manana1-11/+19
2022-03-14btrfs: unify the error handling of btrfs_read_buffer()Qu Wenruo1-6/+6
2022-03-14btrfs: unify the error handling pattern for read_tree_block()Qu Wenruo1-14/+16
2022-03-14btrfs: avoid unnecessary computation when deleting items from a leafFilipe Manana1-9/+7
2022-03-14btrfs: avoid unnecessary COW of leaves when deleting items from a leafFilipe Manana1-6/+32
2022-03-14btrfs: remove unnecessary leaf free space checks when pushing itemsFilipe Manana1-12/+0
2022-01-07btrfs: refactor unlock_upNikolay Borisov1-15/+16
2022-01-07btrfs: remove stale comment about locking at btrfs_search_slot()Filipe Manana1-4/+0
2022-01-07btrfs: remove BUG_ON() after splitting leafFilipe Manana1-1/+3
2022-01-07btrfs: move leaf search logic out of btrfs_search_slot()Filipe Manana1-116/+128
2022-01-07btrfs: remove useless condition check before splitting leafFilipe Manana1-5/+1
2022-01-07btrfs: try to unlock parent nodes earlier when inserting a keyFilipe Manana1-19/+118
2022-01-07btrfs: allow generic_bin_search() to take low boundary as an argumentFilipe Manana1-20/+23
2022-01-07btrfs: check the root node for uptodate before returning itJosef Bacik1-4/+15
2022-01-07btrfs: make send work with concurrent block group relocationFilipe Manana1-24/+74
2022-01-03btrfs: rename btrfs_item_end_nr to btrfs_item_data_endJosef Bacik1-5/+5
2022-01-03btrfs: drop the _nr from the item helpersJosef Bacik1-43/+43
2022-01-03btrfs: introduce item_nr token variant helpersJosef Bacik1-40/+25
2022-01-03btrfs: add btrfs_set_item_*_nr() helpersJosef Bacik1-15/+9
2022-01-03btrfs: use btrfs_item_size_nr/btrfs_item_offset_nr everywhereJosef Bacik1-15/+6
2021-12-17Merge tag 'for-5.16-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-8/+9
2021-12-15btrfs: fix invalid delayed ref after subvolume creation failureFilipe Manana1-8/+9
2021-11-01Merge tag 'for-5.16-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kda...Linus Torvalds1-70/+86
2021-10-26btrfs: unexport setup_items_for_insert()Filipe Manana1-36/+59
2021-10-26btrfs: loop only once over data sizes array when inserting an item batchFilipe Manana1-32/+25
2021-10-26btrfs: assert that extent buffers are write locked instead of only lockedFilipe Manana1-4/+4
2021-10-18mm: don't include <linux/blk-cgroup.h> in <linux/backing-dev.h>Christoph Hellwig1-0/+1
2021-08-23btrfs: introduce btrfs_search_backwards functionMarcos Paulo de Souza1-0/+21
2021-08-23btrfs: make btrfs_next_leaf static inlineDavid Sterba1-10/+0
2021-08-23btrfs: continue readahead of siblings even if target node is in memoryFilipe Manana1-5/+8
2021-08-23btrfs: remove max argument from generic_bin_searchMarcos Paulo de Souza1-11/+7
2021-07-07btrfs: rework chunk allocation to avoid exhaustion of the system chunk arrayFilipe Manana1-54/+13
2021-06-21btrfs: always abort the transaction if we abort a trans handleJosef Bacik1-4/+1
2021-04-19btrfs: improve btree readahead for full send operationsFilipe Manana1-4/+24
2021-04-19btrfs: use booleans where appropriate for the tree mod log functionsFilipe Manana1-3/+3
2021-04-19btrfs: move the tree mod log code into its own fileFilipe Manana1-919/+37
2021-03-16btrfs: fix race when cloning extent buffer during rewind of an old rootFilipe Manana1-0/+2
2021-02-08btrfs: fix extent buffer leak on failure to copy rootFilipe Manana1-0/+2
2021-02-08btrfs: abort the transaction if we fail to inc ref in btrfs_copy_rootJosef Bacik1-2/+3
2021-02-08btrfs: allow error injection for btrfs_search_slot and btrfs_cow_blockJosef Bacik1-0/+2
2020-12-18btrfs: correctly calculate item size used when item key collision happensethanwu1-2/+22
2020-12-09btrfs: handle sectorsize < PAGE_SIZE case for extent buffer accessorsQu Wenruo1-1/+2
2020-12-08btrfs: simplify return values in setup_nodes_for_searchNikolay Borisov1-22/+8
2020-12-08btrfs: remove useless return value statement in split_nodeNikolay Borisov1-2/+1
2020-12-08btrfs: use btrfs_tree_read_lock in btrfs_search_slotJosef Bacik1-1/+1
2020-12-08btrfs: merge back btrfs_read_lock_root_node helpersJosef Bacik1-1/+1
2020-12-08btrfs: remove btrfs_path::recurseJosef Bacik1-3/+2
2020-12-08btrfs: unlock to current level in btrfs_next_old_leafJosef Bacik1-15/+17
2020-12-08btrfs: cleanup the locking in btrfs_next_old_leafJosef Bacik1-10/+4
2020-12-08btrfs: pass root owner to read_tree_blockJosef Bacik1-3/+5
2020-12-08btrfs: use btrfs_read_node_slot in btrfs_realloc_nodeJosef Bacik1-33/+3
2020-12-08btrfs: cleanup extent buffer readaheadJosef Bacik1-36/+9
2020-12-08btrfs: locking: rip out path->leave_spinningJosef Bacik1-3/+0
2020-12-08btrfs: locking: remove all the blocking helpersJosef Bacik1-79/+12
2020-10-07btrfs: cleanup cow block on errorJosef Bacik1-0/+6
2020-10-07btrfs: improve error message in setup_items_for_insertNikolay Borisov1-1/+2
2020-10-07btrfs: add kerneldoc for setup_items_for_insertNikolay Borisov1-4/+10
2020-10-07btrfs: sink total_data parameter in setup_items_for_insertNikolay Borisov1-4/+9
2020-10-07btrfs: eliminate total_size parameter from setup_items_for_insertNikolay Borisov1-6/+4