aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/backref.c
AgeCommit message (Expand)AuthorFilesLines
2025-09-23btrfs: add unlikely annotations to branches leading to EIODavid Sterba1-2/+2
2025-09-23btrfs: add unlikely annotations to branches leading to EUCLEANDavid Sterba1-10/+10
2025-09-23btrfs: fix typos in comments and stringsDavid Sterba1-1/+1
2025-07-22btrfs: set search_commit_root to false in iterate_inodes_from_logical()Filipe Manana1-5/+7
2025-07-21btrfs: simplify debug print helpers without enabled printkDavid Sterba1-3/+1
2025-07-21btrfs: rename err to ret2 in resolve_indirect_refs()David Sterba1-5/+5
2025-07-21btrfs: pass struct rb_simple_node pointer directly in rb_simple_insert()Pan Chuang1-3/+2
2025-07-21btrfs: relocation: simplify unused logic related to LINK_LOWERDaniel Vacek1-10/+6
2025-05-15btrfs: use list_first_entry() everywhereDavid Sterba1-4/+4
2025-05-15btrfs: convert ASSERT(0) with handled errors to DEBUG_WARN()David Sterba1-1/+1
2025-05-15btrfs: convert WARN_ON(IS_ENABLED(CONFIG_BTRFS_DEBUG)) to DEBUG_WARNDavid Sterba1-1/+1
2025-03-18btrfs: unify ordering of btrfs_key initializationsDavid Sterba1-2/+2
2025-01-13btrfs: update prelim_ref_insert() to use rb helpersRoger L. Beckermeyer III1-40/+39
2025-01-13btrfs: remove detached list from struct btrfs_backref_cacheJosef Bacik1-2/+0
2025-01-13btrfs: remove the ->lowest and ->leaves members from struct btrfs_backref_nodeJosef Bacik1-19/+0
2025-01-13btrfs: simplify btrfs_backref_release_cache()Josef Bacik1-20/+2
2025-01-13btrfs: do not handle non-shareable roots in backref cacheJosef Bacik1-27/+23
2025-01-13btrfs: remove the changed list for backref cacheJosef Bacik1-2/+0
2024-11-11btrfs: pass fs_info to functions that search for delayed ref headsFilipe Manana1-1/+2
2024-10-01btrfs: drop the backref cache during relocation if we commitJosef Bacik1-4/+8
2024-09-10btrfs: constify more pointer parametersDavid Sterba1-3/+3
2024-05-07btrfs: change root->root_key.objectid to btrfs_root_id()Josef Bacik1-4/+4
2024-05-07btrfs: stop referencing btrfs_delayed_tree_ref directlyJosef Bacik1-10/+11
2024-05-07btrfs: stop referencing btrfs_delayed_data_ref directlyJosef Bacik1-5/+2
2024-05-07btrfs: move ->parent and ->ref_root into btrfs_delayed_ref_nodeJosef Bacik1-8/+4
2024-04-18btrfs: fix information leak in btrfs_ioctl_logical_to_ino()Johannes Thumshirn1-9/+3
2024-03-05btrfs: remove SLAB_MEM_SPREAD flag useChengming Zhou1-4/+1
2024-03-04btrfs: uninline some static inline helpers from backref.hDavid Sterba1-0/+90
2024-03-04btrfs: open code btrfs_backref_get_eb()David Sterba1-2/+2
2024-03-04btrfs: delete pointless BUG_ONs on extent item sizeDavid Sterba1-3/+0
2024-03-04btrfs: handle invalid extent item reference found in extent_from_logical()David Sterba1-0/+11
2024-03-04btrfs: update comment and drop assertion in extent item lookup in find_parent...David Sterba1-2/+4
2023-10-30Merge tag 'for-6.7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdav...Linus Torvalds1-1/+4
2023-10-23btrfs: fix unwritten extent buffer after snapshotting a new subvolumeFilipe Manana1-5/+9
2023-10-12btrfs: switch btrfs_backref_cache::is_reloc to boolDavid Sterba1-1/+1
2023-10-12btrfs: new inline ref storing owning subvol of data extentsBoris Burkov1-0/+3
2023-08-21btrfs: remove v0 extent handlingQu Wenruo1-17/+12
2023-05-09btrfs: fix backref walking not returning all inode refsFilipe Manana1-9/+10
2023-03-29btrfs: ignore fiemap path cache when there are multiple paths for a nodeFilipe Manana1-22/+63
2023-02-15btrfs: skip backref walking during fiemap if we know the leaf is sharedFilipe Manana1-1/+20
2023-02-15btrfs: assert commit root semaphore is held when accessing backref cacheFilipe Manana1-2/+10
2022-12-20btrfs: fix resolving backrefs for inline extent followed by preallocBoris Burkov1-0/+4
2022-12-05btrfs: move struct btrfs_tree_parent_check out of disk-io.hChristoph Hellwig1-0/+1
2022-12-05btrfs: concentrate all tree block parentness check parameters into one structureQu Wenruo1-4/+11
2022-12-05btrfs: send: skip resolution of our own backref when finding clone sourceFilipe Manana1-14/+21
2022-12-05btrfs: send: avoid double extent tree search when finding clone sourceFilipe Manana1-12/+19
2022-12-05btrfs: send: skip unnecessary backref iterationsFilipe Manana1-23/+50
2022-12-05btrfs: send: cache leaf to roots mapping during backref walkingFilipe Manana1-12/+40
2022-12-05btrfs: reuse roots ulist on each leaf iteration for iterate_extent_inodes()Filipe Manana1-15/+31
2022-12-05btrfs: use a structure to pass arguments to backref walking functionsFilipe Manana1-167/+176
2022-12-05btrfs: use a single argument for extent offset in backref walking functionsFilipe Manana1-45/+42
2022-12-05btrfs: send: optimize clone detection to increase extent sharingFilipe Manana1-4/+5
2022-12-05btrfs: move relocation prototypes into relocation.hJosef Bacik1-0/+1
2022-12-05btrfs: move extent-tree helpers into their own header fileJosef Bacik1-0/+1
2022-12-05btrfs: sink gfp_t parameter to btrfs_backref_iter_allocDavid Sterba1-3/+2
2022-12-05btrfs: move accessor helpers into accessors.hJosef Bacik1-0/+1
2022-12-05btrfs: move fs wide helpers out of ctree.hJosef Bacik1-0/+1
2022-12-05btrfs: avoid unnecessary resolution of indirect backrefs during fiemapFilipe Manana1-11/+17
2022-12-05btrfs: avoid duplicated resolution of indirect backrefs during fiemapFilipe Manana1-10/+54
2022-12-05btrfs: move up backref sharedness cache store and lookup functionsFilipe Manana1-118/+118
2022-12-05btrfs: cache sharedness of the last few data extents during fiemapFilipe Manana1-3/+47
2022-12-05btrfs: remove useless logic when finding parent nodesFilipe Manana1-5/+18
2022-12-05btrfs: remove roots ulist when checking data extent sharednessFilipe Manana1-5/+1
2022-12-05btrfs: move ulists to data extent sharedness check contextFilipe Manana1-11/+32
2022-12-05btrfs: turn the backref sharedness check cache into a context objectFilipe Manana1-16/+16
2022-12-05btrfs: directly pass the inode to btrfs_is_data_extent_shared()Filipe Manana1-4/+4
2022-12-05btrfs: remove checks for a 0 inode number during backref walkingFilipe Manana1-2/+2
2022-12-05btrfs: remove checks for a root with id 0 during backref walkingFilipe Manana1-4/+2
2022-11-02btrfs: fix inode list leak during backref walking at find_parent_nodes()Filipe Manana1-1/+17
2022-11-02btrfs: fix inode list leak during backref walking at resolve_indirect_refs()Filipe Manana1-19/+17
2022-10-11btrfs: ignore fiemap path cache if we have multiple leaves for a data extentFilipe Manana1-0/+25
2022-10-11btrfs: fix processing of delayed tree block refs during backref walkingFilipe Manana1-6/+7
2022-10-11btrfs: fix processing of delayed data refs during backref walkingFilipe Manana1-9/+24
2022-10-07btrfs: add missing path cache update during fiemapFilipe Manana1-0/+13
2022-09-26btrfs: skip unnecessary extent buffer sharedness checks during fiemapFilipe Manana1-6/+21
2022-09-26btrfs: speedup checking for extent sharedness during fiemapFilipe Manana1-1/+121
2022-09-26btrfs: rename btrfs_check_shared() to a more descriptive nameFilipe Manana1-5/+5
2022-07-25btrfs: sink iterator parameter to btrfs_ioctl_logical_to_inoDavid Sterba1-3/+22
2022-07-25btrfs: simplify parameters of backref iteratorsDavid Sterba1-11/+12
2022-07-25btrfs: call inode_to_path directly and drop indirectionDavid Sterba1-30/+20
2022-03-14btrfs: unify the error handling pattern for read_tree_block()Qu Wenruo1-2/+5
2022-01-03btrfs: stop accessing ->extent_root directlyJosef Bacik1-6/+10
2022-01-03btrfs: don't use extent_root in iterate_extent_inodesJosef Bacik1-1/+1
2022-01-03btrfs: remove BUG_ON(!eie) in find_parent_nodesJosef Bacik1-3/+11
2022-01-03btrfs: remove BUG_ON() in find_parent_nodes()Josef Bacik1-1/+6
2022-01-03btrfs: remove SANITY_TESTS check form find_parent_nodesJosef Bacik1-4/+0
2022-01-03btrfs: move comment in find_parent_nodes()Josef Bacik1-7/+4
2022-01-03btrfs: pass the root to add_keyed_refsJosef Bacik1-4/+5
2022-01-03btrfs: drop the _nr from the item helpersJosef Bacik1-7/+7
2022-01-03btrfs: use btrfs_item_size_nr/btrfs_item_offset_nr everywhereJosef Bacik1-3/+1
2021-08-23btrfs: remove ignore_offset argument from btrfs_find_all_roots()Filipe Manana1-2/+2
2021-08-23btrfs: pass NULL as trans to btrfs_search_slot if we only want to searchMarcos Paulo de Souza1-1/+1
2021-07-22btrfs: fix lock inversion problem when doing qgroup extent tracingFilipe Manana1-3/+3
2021-06-22btrfs: fix typos in commentsDavid Sterba1-1/+1
2021-04-19btrfs: move the tree mod log code into its own fileFilipe Manana1-16/+17
2021-02-08btrfs: do not warn if we can't find the reloc root when looking up backrefJosef Bacik1-1/+1
2021-02-08btrfs: document btrfs_check_shared parametersNikolay Borisov1-1/+7
2021-02-08btrfs: do not cleanup upper nodes in btrfs_backref_cleanup_nodeJosef Bacik1-7/+0
2021-01-18btrfs: do not double free backref nodes on errorJosef Bacik1-1/+1
2020-12-08btrfs: pass root owner to read_tree_blockJosef Bacik1-3/+3
2020-12-08btrfs: locking: rip out path->leave_spinningJosef Bacik1-3/+0
2020-12-08btrfs: locking: remove all the blocking helpersJosef Bacik1-7/+3
2020-10-26btrfs: add a helper to read the tree_root commit root for backref lookupJosef Bacik1-1/+12
2020-10-07btrfs: remove unnecessarily shadowed variablesDavid Sterba1-1/+0
2020-08-10btrfs: check correct variable after allocation in btrfs_backref_iter_allocBoleyn Su1-1/+1
2020-07-21btrfs: fix double free on ulist after backref resolution failureFilipe Manana1-0/+1
2020-05-25btrfs: simplify root lookup by idDavid Sterba1-11/+2
2020-05-25btrfs: rename BTRFS_ROOT_REF_COWS to BTRFS_ROOT_SHAREABLEQu Wenruo1-2/+2
2020-05-25btrfs: backref: distinguish reloc and non-reloc use of indirect resolutionQu Wenruo1-2/+14
2020-05-25btrfs: reloc: move error handling of build_backref_tree() to backref.cQu Wenruo1-0/+54
2020-05-25btrfs: backref: rename and move finish_upper_links()Qu Wenruo1-0/+106
2020-05-25btrfs: backref: rename and move handle_one_tree_block()Qu Wenruo1-0/+365
2020-05-25btrfs: backref: rename and move backref_cache_cleanup()Qu Wenruo1-0/+33
2020-05-25btrfs: backref: rename and move remove_backref_node()Qu Wenruo1-0/+45
2020-05-25btrfs: backref: rename and move alloc_backref_edge()Qu Wenruo1-0/+11
2020-05-25btrfs: backref: rename and move alloc_backref_node()Qu Wenruo1-0/+21
2020-05-25btrfs: backref: rename and move backref_cache_init()Qu Wenruo1-0/+17
2020-05-25btrfs: backref: implement btrfs_backref_iter_next()Qu Wenruo1-0/+60
2020-05-25btrfs: backref: introduce the skeleton of btrfs_backref_iterQu Wenruo1-0/+110
2020-04-30btrfs: fix gcc-4.8 build warning for struct initializerArnd Bergmann1-1/+1
2020-03-23btrfs: do not resolve backrefs for roots that are being deletedJosef Bacik1-0/+6
2020-03-23btrfs: kill the subvol_srcuJosef Bacik1-11/+1
2020-03-23btrfs: relocation: Use btrfs_find_all_leafs to locate data extent parent tree...Qu Wenruo1-4/+4
2020-03-23btrfs: backref, use correct count to resolve normal data refsethanwu1-18/+11
2020-03-23btrfs: backref, only search backref entries from leaves of the same rootethanwu1-3/+9
2020-03-23btrfs: backref, don't add refs from shared block when resolving normal backrefethanwu1-9/+52
2020-03-23btrfs: backref, only collect file extent items matching backref offsetethanwu1-30/+33
2020-03-23btrfs: rename btrfs_put_fs_root and btrfs_grab_fs_rootJosef Bacik1-1/+1
2020-03-23btrfs: push btrfs_grab_fs_root into btrfs_get_fs_rootJosef Bacik1-6/+0
2020-03-23btrfs: hold a ref on the root in resolve_indirect_refJosef Bacik1-1/+9
2019-07-30Btrfs: fix deadlock between fiemap and transaction commitsFilipe Manana1-1/+1
2019-07-01btrfs: fiemap: preallocate ulists for btrfs_check_sharedDavid Sterba1-11/+6
2019-04-29Btrfs: do not start a transaction during fiemapFilipe Manana1-6/+10
2019-04-29Btrfs: do not start a transaction at iterate_extent_inodes()Filipe Manana1-6/+12
2019-04-29btrfs: use BUG() instead of BUG_ON(1)Arnd Bergmann1-2/+2
2019-02-25btrfs: honor path->skip_locking in backref codeJosef Bacik1-7/+13
2019-02-25btrfs: replace btrfs_set_lock_blocking_rw with appropriate helpersDavid Sterba1-2/+2
2018-12-17btrfs: Fix typos in comments and stringsAndrea Gelmini1-2/+2
2018-12-17btrfs: Remove needless tree locking in iterate_inode_extrefsNikolay Borisov1-5/+0
2018-12-17btrfs: Remove needless tree locking in iterate_inode_refsNikolay Borisov1-4/+0
2018-10-15Btrfs: preftree: use rb_first_cachedLiu Bo1-15/+17
2018-10-15Btrfs: delayed-refs: use rb_first_cached for ref_treeLiu Bo1-1/+1
2018-10-15btrfs: Remove 'objectid' member from struct btrfs_rootMisono Tomohiro1-2/+3
2018-08-06btrfs: backref: Use ERR_CAST to return error codeMisono Tomohiro1-1/+1
2018-08-06btrfs: return EUCLEAN if extent_inline_ref type is invalidSu Yue1-2/+2
2018-04-12btrfs: replace GPL boilerplate by SPDX -- sourcesDavid Sterba1-14/+1
2018-03-31btrfs: Validate child tree block's level and first keyQu Wenruo1-2/+4
2018-03-31btrfs: Remove unused op_key var from add_delayed_refsNikolay Borisov1-4/+1
2018-03-26btrfs: add more __cold annotationsDavid Sterba1-1/+1
2018-03-14btrfs: add missing initialization in btrfs_check_sharedEdmund Nadolski1-0/+1
2018-02-02btrfs: remove spurious WARN_ON(ref->count < 0) in find_parent_nodesZygo Blaxell1-1/+10
2018-01-22btrfs: make function update_share_count staticColin Ian King1-1/+2
2017-11-01btrfs: track refs in a rb_tree instead of a listJosef Bacik1-1/+4
2017-11-01btrfs: add a flag to iterate_inodes_from_logical to find all extent refs for ...Zygo Blaxell1-25/+38
2017-10-30btrfs: remove delayed_ref_node from ref_headJosef Bacik1-2/+2
2017-08-21Btrfs: convert to use btrfs_get_extent_inline_ref_typeLiu Bo1-2/+9
2017-08-16btrfs: clean up extraneous computations in add_delayed_refsEdmund Nadolski1-17/+13
2017-08-16btrfs: allow backref search checks for shared extentsEdmund Nadolski1-49/+115
2017-08-16btrfs: add cond_resched() calls when resolving backrefsEdmund Nadolski1-0/+3
2017-08-16btrfs: backref, add tracepoints for prelim_ref insertion and mergingJeff Mahoney1-58/+60
2017-08-16btrfs: add a node counter to each of the rbtreesJeff Mahoney1-1/+5
2017-08-16btrfs: convert prelimary reference tracking to use rbtreesEdmund Nadolski1-157/+285
2017-08-16btrfs: remove ref_tree implementation from backref.cEdmund Nadolski1-348/+7
2017-08-16btrfs: btrfs_check_shared should manage its own transactionEdmund Nadolski1-11/+19
2017-08-16btrfs: backref, cleanup __ namespace abuseJeff Mahoney1-116/+109
2017-08-16btrfs: backref, add unode_aux_to_inode_list helperJeff Mahoney1-5/+11
2017-08-16btrfs: backref, constify some argumentsJeff Mahoney1-13/+16
2017-06-19btrfs: use GFP_KERNEL in init_ipathDavid Sterba1-5/+5
2017-04-18btrfs: replace hardcoded value with SEQ_LAST macroEdmund Nadolski1-8/+8
2017-04-18btrfs: provide enumeration for __merge_refs mode argumentEdmund Nadolski1-10/+13
2017-04-18btrfs: convert btrfs_delayed_ref_node.refs from atomic_t to refcount_tElena Reshetova1-1/+1
2017-02-17btrfs: remove unused parameter from __add_inline_refsDavid Sterba1-3/+2
2017-02-14Btrfs: pass delayed_refs directly to btrfs_find_delayed_ref_headLiu Bo1-1/+1
2016-12-06btrfs: remove root parameter from transaction commit/end routinesJeff Mahoney1-1/+1
2016-12-06btrfs: take an fs_info directly when the root is not used otherwiseJeff Mahoney1-4/+2
2016-12-06btrfs: pull node/sector/stripe sizes out of root and into fs_infoJeff Mahoney1-1/+1
2016-09-26btrfs: convert pr_* to btrfs_* where possibleJeff Mahoney1-16/+27
2016-09-26btrfs: unsplit printed stringsJeff Mahoney1-10/+5
2016-09-26btrfs: fix check_shared for fiemap ioctlLu Fengqi1-9/+352
2016-08-25btrfs: backref: Fix soft lockup in __merge_refs functionQu Wenruo1-0/+1
2016-07-26btrfs: tests, use BTRFS_FS_STATE_DUMMY_FS_INFO instead of dummy rootJeff Mahoney1-1/+1
2016-07-26btrfs: Fix slab accounting flagsNikolay Borisov1-1/+1
2016-05-25Merge branch 'cleanups-4.7' into for-chris-4.7-20160525David Sterba1-1/+1
2016-05-25btrfs: fix string and comment grammatical issues and typosNicholas D Steeves1-1/+1
2016-05-10Btrfs: fix fspath error deallocationVincent Stehlé1-1/+1
2016-02-26Merge branch 'cleanups-4.6' into for-chris-4.6David Sterba1-8/+4
2016-02-18btrfs: drop null testing before destroy functionsKinglong Mee1-2/+1
2016-02-18btrfs: remove open-coded swap() in backref.c:__merge_refsDave Jones1-6/+3
2016-02-05Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctlFilipe Manana1-4/+6
2016-01-15btrfs: fix iterator with update error in backref.cGeliang Tang1-5/+5
2016-01-07btrfs: use list_for_each_entry* in backref.cGeliang Tang1-17/+6
2015-11-25Btrfs: use btrfs_get_fs_root in resolve_indirect_refJosef Bacik1-1/+1
2015-10-26btrfs: fix use after free iterating extrefsChris Mason1-5/+3
2015-10-21Btrfs: fix qgroup sanity testsJosef Bacik1-0/+6
2015-08-09Btrfs: fix warning in backref walkingLiu Bo1-6/+2
2015-08-09Btrfs: teach backref walking about backrefs with underflowed offset valuesFilipe Manana1-2/+25
2015-06-10btrfs: backref: Add special time_seq == (u64)-1 case forQu Wenruo1-6/+29
2015-06-10btrfs: delayed-ref: Use list to replace the ref_root in ref_head.Qu Wenruo1-7/+2
2015-06-10btrfs: backref: Don't merge refs which are not for same block.Qu Wenruo1-3/+3
2015-06-03Btrfs: fix up read_tree_block to return proper errorLiu Bo1-2/+7