aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/relocation.c
AgeCommit message (Expand)AuthorFilesLines
2025-11-24btrfs: use bool type for btrfs_path members used as booleansFilipe Manana1-4/+4
2025-11-24btrfs: apply the AUTO_K(V)FREE macros throughout the codeMiquel Sabaté Solà1-22/+12
2025-11-24btrfs: use the key format macros when printing keysFilipe Manana1-2/+2
2025-11-24btrfs: use single return value variable in btrfs_relocate_block_group()Filipe Manana1-23/+16
2025-10-13btrfs: fix clearing of BTRFS_FS_RELOC_RUNNING if relocation already runningFilipe Manana1-6/+7
2025-09-23btrfs: add unlikely annotations to branches leading to transaction abortDavid Sterba1-8/+8
2025-09-23btrfs: add unlikely annotations to branches leading to EIODavid Sterba1-3/+3
2025-09-23btrfs: add unlikely annotations to branches leading to EUCLEANDavid Sterba1-4/+4
2025-09-23btrfs: more trivial BTRFS_PATH_AUTO_FREE conversionsSun YangKai1-31/+16
2025-09-22btrfs: convert several int parameters to boolDavid Sterba1-2/+2
2025-08-07btrfs: do not allow relocation of partially dropped subvolumesQu Wenruo1-0/+19
2025-07-22btrfs: enable large data folios for data reloc inodeQu Wenruo1-11/+13
2025-07-22btrfs: reloc: unconditionally invalidate the page cache for each clusterQu Wenruo1-50/+8
2025-07-22btrfs: remove btrfs_clear_extent_bits()Filipe Manana1-1/+1
2025-07-22btrfs: don't print relocation messages from auto reclaimJohannes Thumshirn1-4/+8
2025-07-22btrfs: replace strcpy() with strscpy()Brahmajit Das1-1/+1
2025-07-21btrfs: use pgoff_t for page index variablesDavid Sterba1-4/+4
2025-07-21btrfs: add btrfs prefix to is_fstree() and make it return boolFilipe Manana1-1/+1
2025-07-21btrfs: use refcount_t type for the extent buffer reference counterFilipe Manana1-2/+2
2025-07-21btrfs: pass struct rb_simple_node pointer directly in rb_simple_insert()Pan Chuang1-13/+21
2025-05-15btrfs: pass struct btrfs_inode to btrfs_free_reserved_data_space_noquota()Naohiro Aota1-2/+2
2025-05-15btrfs: use list_first_entry() everywhereDavid Sterba1-19/+17
2025-05-15btrfs: convert ASSERT(0) with handled errors to DEBUG_WARN()David Sterba1-2/+2
2025-05-15btrfs: rename functions to allocate and free extent mapsFilipe Manana1-2/+2
2025-05-15btrfs: rename the functions to count, test and get bit ranges in io treesFilipe Manana1-2/+2
2025-05-15btrfs: rename the functions to init and release an extent io treeFilipe Manana1-1/+1
2025-05-15btrfs: rename the functions to search for bits in extent rangesFilipe Manana1-3/+3
2025-05-15btrfs: rename set_extent_bit() to include a btrfs prefixFilipe Manana1-5/+6
2025-05-15btrfs: rename the functions to clear bits for an extent rangeFilipe Manana1-5/+5
2025-05-15btrfs: add btrfs prefix to main lock, try lock and unlock extent functionsFilipe Manana1-14/+14
2025-05-15btrfs: remove leftover EXTENT_UPTODATE clear from an inode's io_treeFilipe Manana1-3/+0
2025-04-17btrfs: fix invalid inode pointer after failure to create reloc inodeFilipe Manana1-1/+1
2025-03-18btrfs: remove unnecessary fs_info argument from delete_block_group_cache()Filipe Manana1-5/+4
2025-03-18btrfs: remove unnecessary fs_info argument from create_reloc_inode()Filipe Manana1-2/+2
2025-03-18btrfs: make btrfs_iget() return a btrfs inode insteadFilipe Manana1-7/+10
2025-01-13btrfs: open code set_page_extent_mapped()David Sterba1-1/+1
2025-01-13btrfs: relocation: remove unnecessary calls to btrfs_mark_buffer_dirty()Filipe Manana1-7/+0
2025-01-13btrfs: remove detached list from struct btrfs_backref_cacheJosef Bacik1-1/+0
2025-01-13btrfs: remove the ->lowest and ->leaves members from struct btrfs_backref_nodeJosef Bacik1-7/+0
2025-01-13btrfs: do not handle non-shareable roots in backref cacheJosef Bacik1-1/+1
2025-01-13btrfs: don't build backref tree for COW-only blocksJosef Bacik1-19/+73
2025-01-13btrfs: remove clone_backref_node() from relocationJosef Bacik1-90/+1
2025-01-13btrfs: simplify loop in select_reloc_root()Josef Bacik1-80/+55
2025-01-13btrfs: remove the changed list for backref cacheJosef Bacik1-14/+8
2025-01-13btrfs: convert BUG_ON in btrfs_reloc_cow_block() to proper error handlingJosef Bacik1-2/+12
2024-12-23btrfs: check folio mapping after unlock in relocate_one_folio()Boris Burkov1-0/+6
2024-11-11btrfs: drop unused transaction parameter from btrfs_qgroup_add_swapped_blocks()David Sterba1-1/+1
2024-10-01btrfs: fix a NULL pointer dereference when failed to start a new trasacntionQu Wenruo1-1/+1
2024-10-01btrfs: drop the backref cache during relocation if we commitJosef Bacik1-72/+3
2024-09-10btrfs: don't readahead the relocation inode on RSTJohannes Thumshirn1-4/+18
2024-07-21Merge tag 'mm-stable-2024-07-21-14-50' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-2/+1
2024-07-11btrfs: fix data race when accessing the last_trans field of a rootFilipe Manana1-4/+4
2024-07-11btrfs: switch btrfs_ordered_extent::inode to struct btrfs_inodeDavid Sterba1-1/+1
2024-07-11btrfs: remove super block argument from btrfs_iget()Filipe Manana1-2/+2
2024-07-11btrfs: pass reloc_control to setup_relocation_extent_mapping()Johannes Thumshirn1-8/+10
2024-07-11btrfs: pass a struct reloc_control to prealloc_file_extent_cluster()Johannes Thumshirn1-4/+4
2024-07-11btrfs: don't pass fs_info to describe_relocation()Johannes Thumshirn1-5/+3
2024-07-11btrfs: pass a reloc_control to relocate_one_folio()Johannes Thumshirn1-3/+5
2024-07-11btrfs: pass a reloc_control to relocate_file_extent_cluster()Johannes Thumshirn1-7/+7
2024-07-11btrfs: pass reloc_control to relocate_data_extent()Johannes Thumshirn1-5/+5
2024-07-11btrfs: rename err to ret in btrfs_recover_relocation()Anand Jain1-28/+28
2024-07-11btrfs: rename ret to ret2 in btrfs_recover_relocation()Anand Jain1-4/+4
2024-07-11btrfs: rename ret to err in btrfs_recover_relocation()Anand Jain1-17/+11
2024-07-11btrfs: remove extent_map::block_start memberQu Wenruo1-1/+0
2024-07-11btrfs: remove extent_map::block_len memberQu Wenruo1-1/+0
2024-07-11btrfs: remove extent_map::orig_start memberQu Wenruo1-1/+0
2024-07-11btrfs: introduce extra sanity checks for extent mapsQu Wenruo1-0/+4
2024-07-11btrfs: simplify range parameters of btrfs_wait_ordered_roots()David Sterba1-3/+1
2024-07-11btrfs: pass a btrfs_inode to btrfs_wait_ordered_range()Filipe Manana1-1/+1
2024-07-11btrfs: unify index_cnt and csum_bytes from struct btrfs_inodeFilipe Manana1-6/+6
2024-07-03readahead: drop index argument of page_cache_async_readahead()Jan Kara1-2/+1
2024-05-07btrfs: handle errors in btrfs_reloc_clone_csums properlyJosef Bacik1-1/+3
2024-05-07btrfs: drop unused argument of calcu_metadata_size()Naohiro Aota1-6/+5
2024-05-07btrfs: reuse ret instead of err in relocate_tree_blocks()Anand Jain1-11/+8
2024-05-07btrfs: rename err and ret to ret in build_backref_tree()Anand Jain1-11/+7
2024-05-07btrfs: change root->root_key.objectid to btrfs_root_id()Josef Bacik1-33/+30
2024-05-07btrfs: rename ->len to ->num_bytes in btrfs_refJosef Bacik1-7/+7
2024-05-07btrfs: move ref_root into btrfs_refJosef Bacik1-13/+13
2024-05-07btrfs: do not use a function to initialize btrfs_refJosef Bacik1-19/+39
2024-05-07btrfs: export find_next_inode() as btrfs_find_first_inode()Filipe Manana1-80/+25
2024-05-07btrfs: make NOCOW checks for existence of checksums in a range more efficientFilipe Manana1-1/+1
2024-05-07btrfs: remove search_commit parameter from btrfs_lookup_csums_list()Filipe Manana1-1/+1
2024-05-07btrfs: stop locking the source extent range during reflinkFilipe Manana1-1/+7
2024-05-07btrfs: convert relocate_one_page() to folios and renameGoldwyn Rodrigues1-46/+47
2024-05-07btrfs: page to folio conversion: prealloc_file_extent_cluster()Goldwyn Rodrigues1-6/+6
2024-05-07btrfs: rename err to ret in create_reloc_inode()Anand Jain1-9/+9
2024-03-04btrfs: open code btrfs_backref_iter_free()David Sterba1-1/+2
2024-03-04btrfs: add helper to get fs_info from struct inode pointerDavid Sterba1-1/+1
2023-12-15btrfs: migrate subpage code to folio interfacesQu Wenruo1-2/+3
2023-12-15btrfs: use the flags of an extent map to identify the compression typeFilipe Manana1-1/+1
2023-10-30Merge tag 'for-6.7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdav...Linus Torvalds1-81/+127
2023-10-23btrfs: fix unwritten extent buffer after snapshotting a new subvolumeFilipe Manana1-3/+4
2023-10-12btrfs: change test_range_bit to scan the whole rangeDavid Sterba1-1/+1
2023-10-12btrfs: relocation: constify parameters where possibleDavid Sterba1-28/+28
2023-10-12btrfs: relocation: return bool from btrfs_should_ignore_reloc_rootDavid Sterba1-10/+9
2023-10-12btrfs: switch btrfs_backref_cache::is_reloc to boolDavid Sterba1-1/+1
2023-10-12btrfs: relocation: open code mapping_tree_initDavid Sterba1-8/+2
2023-10-12btrfs: relocation: switch bitfields to bool in reloc_controlDavid Sterba1-9/+9
2023-10-12btrfs: relocation: use enum for stagesDavid Sterba1-7/+9
2023-10-12btrfs: relocation: use more natural types for tree_block bitfieldsDavid Sterba1-4/+4
2023-10-12btrfs: track data relocation with simple quotaBoris Burkov1-1/+48
2023-10-12btrfs: track owning root in btrfs_refBoris Burkov1-7/+11
2023-10-12btrfs: abort transaction on generation mismatch when marking eb as dirtyFilipe Manana1-5/+5
2023-10-12btrfs: drop __must_check annotationsDavid Sterba1-1/+1
2023-08-21btrfs: remove v0 extent handlingQu Wenruo1-5/+6
2023-08-21btrfs: set page extent mapped after read_folio in relocate_one_pageJosef Bacik1-3/+9
2023-08-21btrfs: make find_first_extent_bit() return a booleanFilipe Manana1-4/+6
2023-08-10btrfs: exit gracefully if reloc roots don't matchQu Wenruo1-8/+37
2023-06-19btrfs: pass an ordered_extent to btrfs_reloc_clone_csumsChristoph Hellwig1-21/+14
2023-06-19btrfs: rename the bytenr field in struct btrfs_ordered_sum to logicalChristoph Hellwig1-2/+2
2023-06-19btrfs: drop gfp from parameter extent state helpersDavid Sterba1-3/+2
2023-06-19btrfs: open code set_extent_bitsDavid Sterba1-5/+6
2023-06-19btrfs: output affected files when relocation failsQu Wenruo1-0/+16
2023-05-09btrfs: fix backref walking not returning all inode refsFilipe Manana1-1/+1
2023-04-17btrfs: open code btrfs_bin_search()Anand Jain1-3/+3
2023-02-13btrfs: use PAGE_{ALIGN, ALIGNED, ALIGN_DOWN} macroYushan Zhou1-1/+1
2022-12-05btrfs: split the bio submission path into a separate fileChristoph Hellwig1-0/+1
2022-12-05btrfs: introduce a bitmap based csum range search functionQu Wenruo1-2/+2
2022-12-05btrfs: concentrate all tree block parentness check parameters into one structureQu Wenruo1-3/+8
2022-12-05btrfs: pass btrfs_inode to btrfs_add_delayed_iputDavid Sterba1-2/+2
2022-12-05btrfs: drop private_data parameter from extent_io_tree_initDavid Sterba1-2/+1
2022-12-05btrfs: pass btrfs_inode to btrfs_inode_unlockDavid Sterba1-1/+1
2022-12-05btrfs: pass btrfs_inode to btrfs_inode_lockDavid Sterba1-1/+1
2022-12-05btrfs: use a structure to pass arguments to backref walking functionsFilipe Manana1-8/+11
2022-12-05btrfs: use a single argument for extent offset in backref walking functionsFilipe Manana1-1/+1
2022-12-05btrfs: move super_block specific helpers into super.hJosef Bacik1-0/+1
2022-12-05btrfs: move relocation prototypes into relocation.hJosef Bacik1-0/+1
2022-12-05btrfs: move file-item prototypes into their own headerJosef Bacik1-0/+1
2022-12-05btrfs: move root tree prototypes to their own headerJosef 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-1/+1
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: move flush related definitions to space-info.hJosef Bacik1-0/+1
2022-12-05btrfs: use a cached_state everywhere in relocationJosef Bacik1-14/+26
2022-12-05btrfs: add a cached_state to try_lock_extentJosef Bacik1-1/+1
2022-09-29btrfs: add helper to replace extent map range with a new extent mapFilipe Manana1-11/+3
2022-09-29btrfs: move btrfs_drop_extent_cache() to extent_map.cFilipe Manana1-4/+4
2022-09-29btrfs: make can_nocow_extent nowait compatibleJosef Bacik1-1/+1
2022-09-26btrfs: unify the lock/unlock extent variantsJosef Bacik1-9/+9
2022-08-17btrfs: fix lockdep splat with reloc root extent buffersJosef Bacik1-0/+2
2022-08-17btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()Zixuan Fu1-1/+6
2022-05-24Merge tag 'folio-5.19' of git://git.infradead.org/users/willy/pagecacheLinus Torvalds1-6/+7
2022-05-16btrfs: remove unnecessary check of iput argumentLv Ruyi1-2/+1
2022-05-16btrfs: remove unnecessary type castsYu Zhe1-1/+1
2022-05-16btrfs: assert that relocation is protected with sb_start_write()Naohiro Aota1-0/+11
2022-05-16btrfs: avoid blocking on space revervation when doing nowait dio writesFilipe Manana1-1/+2
2022-05-09btrfs: Convert btrfs to read_folioMatthew Wilcox (Oracle)1-4/+4
2022-05-08mm/readahead: Convert page_cache_async_readahead to take a folioMatthew Wilcox (Oracle)1-2/+3
2022-03-14btrfs: unify the error handling pattern for read_tree_block()Qu Wenruo1-2/+2
2022-03-14btrfs: pass btrfs_fs_info to btrfs_recover_relocationJosef Bacik1-3/+2
2022-03-14btrfs: support different disk extent size for delallocOmar Sandoval1-1/+1
2022-03-02btrfs: do not start relocation until in progress drops are doneJosef Bacik1-0/+13
2022-01-07btrfs: add an inode-item.hJosef Bacik1-0/+1
2022-01-07btrfs: make send work with concurrent block group relocationFilipe Manana1-13/+0
2022-01-03btrfs: stop accessing ->csum_root directlyJosef Bacik1-1/+3
2022-01-03btrfs: stop accessing ->extent_root directlyJosef Bacik1-2/+2
2022-01-03btrfs: change root to fs_info for btrfs_reserve_metadata_bytesJosef Bacik1-8/+9
2022-01-03btrfs: drop the _nr from the item helpersJosef Bacik1-1/+1
2021-10-26btrfs: fix deadlock between chunk allocation and chunk btree modificationsFilipe Manana1-0/+4
2021-10-26btrfs: pull up qgroup checks from delayed-ref core to init timeNikolay Borisov1-7/+0
2021-10-26btrfs: add additional parameters to btrfs_init_tree_ref/btrfs_init_data_refNikolay Borisov1-7/+14
2021-10-26btrfs: rename setup_extent_mapping in relocation codeJohannes Thumshirn1-4/+3
2021-10-26btrfs: zoned: allow preallocation for relocation inodesJohannes Thumshirn1-33/+2
2021-10-26btrfs: introduce btrfs_is_data_reloc_rootJohannes Thumshirn1-2/+1
2021-10-26btrfs: zoned: finish relocating block groupNaohiro Aota1-0/+4
2021-08-23btrfs: subpage: fix relocation potentially overwriting last page dataQu Wenruo1-0/+60
2021-08-23btrfs: make relocate_one_page() handle subpage caseQu Wenruo1-29/+77
2021-08-23btrfs: reloc: factor out relocation page read and dirty partQu Wenruo1-105/+93
2021-06-22btrfs: ensure relocation never runs while we have send operations runningFilipe Manana1-0/+13
2021-06-21btrfs: add cancellable chunk relocation supportDavid Sterba1-2/+60
2021-04-19btrfs: check return value of btrfs_commit_transaction in relocationJosef Bacik1-4/+5
2021-04-19btrfs: do proper error handling in merge_reloc_rootsJosef Bacik1-2/+23
2021-04-19btrfs: handle extent corruption with select_one_root properlyJosef Bacik1-3/+16
2021-04-19btrfs: cleanup error handling in prepare_to_mergeJosef Bacik1-2/+12
2021-04-19btrfs: do not panic in __add_reloc_rootJosef Bacik1-1/+5
2021-04-19btrfs: handle __add_reloc_root failures in btrfs_recover_relocationJosef Bacik1-2/+11
2021-04-19btrfs: do proper error handling in create_reloc_inodeJosef Bacik1-2/+37
2021-04-19btrfs: remove the extent item sanity checks in relocate_block_groupJosef Bacik1-28/+1
2021-04-19btrfs: handle extent reference errors in do_relocationJosef Bacik1-4/+5
2021-04-19btrfs: handle errors in reference count manipulation in replace_pathJosef Bacik1-4/+16
2021-04-19btrfs: handle btrfs_search_slot failure in replace_pathJosef Bacik1-1/+5
2021-04-19btrfs: handle btrfs_cow_block errors in replace_pathJosef Bacik1-2/+10
2021-04-19btrfs: convert logic BUG_ON()'s in replace_path to ASSERT()'sJosef Bacik1-3/+3
2021-04-19btrfs: do proper error handling in btrfs_update_reloc_rootJosef Bacik1-4/+2
2021-04-19btrfs: handle btrfs_update_reloc_root failure in prepare_to_mergeJosef Bacik1-1/+12
2021-04-19btrfs: handle btrfs_update_reloc_root failure in insert_dirty_subvolJosef Bacik1-1/+4
2021-04-19btrfs: change insert_dirty_subvol to return errorsJosef Bacik1-5/+10
2021-04-19btrfs: validate root::reloc_root after recording root in transJosef Bacik1-0/+15
2021-04-19btrfs: do proper error handling in create_reloc_rootJosef Bacik1-6/+28
2021-04-19btrfs: have proper error handling in btrfs_init_reloc_rootJosef Bacik1-1/+7
2021-04-19btrfs: handle btrfs_record_root_in_trans failure in relocate_tree_blockJosef Bacik1-1/+3
2021-04-19btrfs: do proper error handling in record_reloc_root_in_transJosef Bacik1-2/+21
2021-04-19btrfs: check record_root_in_trans related failures in select_reloc_rootJosef Bacik1-2/+7
2021-04-19btrfs: convert BUG_ON()'s in select_reloc_root() to proper errorsJosef Bacik1-4/+43
2021-04-19btrfs: handle errors from select_reloc_root()Josef Bacik1-3/+12
2021-04-19btrfs: convert BUG_ON()'s in relocate_tree_blockJosef Bacik1-2/+22
2021-04-19btrfs: convert some BUG_ON()'s to ASSERT()'s in do_relocationJosef Bacik1-3/+16
2021-04-19btrfs: use btrfs_inode_lock/btrfs_inode_unlock inode lock helpersJosef Bacik1-2/+2
2021-02-09btrfs: zoned: enable relocation on a zoned filesystemNaohiro Aota1-2/+32