aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent_io.c
AgeCommit message (Expand)AuthorFilesLines
8 daysMerge tag 'for-6.19-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kda...Linus Torvalds1-22/+35
10 daysMerge tag 'vfs-6.19-rc1.folio' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-8/+8
10 daysMerge tag 'vfs-6.19-rc1.writeback' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-4/+1
2025-11-24btrfs: relax btrfs_inode::ordered_tree_lock IRQ locking contextQu Wenruo1-3/+2
2025-11-24btrfs: remove btrfs_bio::fs_info by extracting it from btrfs_bio::inodeQu Wenruo1-13/+9
2025-11-24btrfs: add unlikely to unexpected error case in extent_writepages()Filipe Manana1-1/+1
2025-11-24btrfs: split assertion into two in extent_writepage_io()Filipe Manana1-1/+3
2025-11-24btrfs: use variable for end offset in extent_writepage_io()Filipe Manana1-5/+5
2025-11-24btrfs: truncate ordered extent when skipping writeback past i_sizeFilipe Manana1-2/+19
2025-11-24btrfs: remove unnecessary NULL fs_info check from find_lock_delalloc_range()Qu Wenruo1-2/+1
2025-10-31btrfs: Use folio_next_pos()Matthew Wilcox (Oracle)1-8/+8
2025-10-30btrfs: ensure no dirty metadata is written back for an fs with errorsQu Wenruo1-0/+8
2025-10-29fs: Make wbc_to_tag() inline and use it in fs.Julian Sun1-4/+1
2025-10-13btrfs: fix incorrect readahead expansion lengthBoris Burkov1-1/+1
2025-09-23btrfs: add unlikely annotations to branches leading to EIODavid Sterba1-1/+1
2025-09-23btrfs: prepare compression folio alloc/free for bs > ps casesQu Wenruo1-2/+5
2025-09-23btrfs: fix the incorrect max_bytes value for find_lock_delalloc_range()Qu Wenruo1-3/+11
2025-09-23btrfs: return any hit error from extent_writepage_io()Qu Wenruo1-4/+5
2025-09-23btrfs: mark extent buffer alignment checks as unlikelyFilipe Manana1-5/+5
2025-09-23btrfs: store and use node size in local variable in check_eb_alignment()Filipe Manana1-7/+8
2025-09-23btrfs: fix typos in comments and stringsDavid Sterba1-5/+5
2025-09-22btrfs: convert several int parameters to boolDavid Sterba1-1/+1
2025-09-22btrfs: try to search for data csums in commit rootBoris Burkov1-3/+61
2025-09-02btrfs: fix corruption reading compressed range when block size is smaller tha...Qu Wenruo1-10/+30
2025-08-13btrfs: clear TAG_TOWRITE from buffer tree when submitting a tree blockQu Wenruo1-0/+1
2025-08-13btrfs: clear block dirty if btrfs_writepage_cow_fixup() failedQu Wenruo1-1/+5
2025-08-13btrfs: clear block dirty if submit_one_sector() failedQu Wenruo1-4/+13
2025-08-07btrfs: fix subpage deadlock in try_release_subpage_extent_buffer()Leo Martins1-5/+6
2025-07-22btrfs: use clear_and_wake_up_bit() where open codedDavid Sterba1-7/+2
2025-07-22btrfs: index buffer_tree using node sizeDaniel Vacek1-15/+15
2025-07-22btrfs: use readahead_expand() on compressed extentsBoris Burkov1-1/+34
2025-07-21btrfs: use pgoff_t for page index variablesDavid Sterba1-2/+2
2025-07-21btrfs: use our message helpers instead of pr_err/pr_warn/pr_infoDavid Sterba1-2/+2
2025-07-21btrfs: make extent_buffer_test_bit() return a boolean insteadFilipe Manana1-2/+2
2025-07-21btrfs: use folio_end() where appropriateDavid Sterba1-9/+8
2025-07-21btrfs: use btrfs_root_id() where not done yetDavid Sterba1-1/+1
2025-07-21btrfs: use refcount_t type for the extent buffer reference counterFilipe Manana1-23/+22
2025-07-21btrfs: add comment for optimization in free_extent_buffer()Filipe Manana1-0/+1
2025-07-21btrfs: reorganize logic at free_extent_buffer() for better readabilityFilipe Manana1-3/+6
2025-07-21btrfs: rename btrfs_subpage structureQu Wenruo1-14/+14
2025-06-19btrfs: fix double unlock of buffer_tree xarray when releasing subpage ebFilipe Manana1-1/+1
2025-05-27btrfs: don't drop a reference if btrfs_check_write_meta_pointer() failsJosef Bacik1-1/+0
2025-05-15btrfs: fix broken drop_caches on extent buffer foliosBoris Burkov1-45/+71
2025-05-15btrfs: get rid of goto in alloc_test_extent_buffer()Daniel Vacek1-4/+2
2025-05-15btrfs: use buffer xarray for extent buffer writeback operationsJosef Bacik1-174/+163
2025-05-15btrfs: set DIRTY and WRITEBACK tags on the buffer_treeJosef Bacik1-0/+37
2025-05-15btrfs: convert the buffer_radix to an xarrayJosef Bacik1-126/+86
2025-05-15btrfs: subpage: reject tree blocks which are not nodesize alignedQu Wenruo1-3/+2
2025-05-15btrfs: move folio initialization to one place in attach_eb_folio_to_filemap()Daniel Vacek1-4/+3
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-05-15btrfs: track the next file offset in struct btrfs_bio_ctrlChristoph Hellwig1-23/+15
2025-05-15btrfs: remove the alignment checks in end_bbio_data_read()Christoph Hellwig1-24/+3
2025-05-15btrfs: rename remaining exported extent map functionsFilipe Manana1-2/+2
2025-05-15btrfs: rename functions to allocate and free extent mapsFilipe Manana1-8/+8
2025-05-15btrfs: rename extent map functions to get block start, end and check if in treeFilipe Manana1-10/+11
2025-05-15btrfs: rename exported extent map compression functionsFilipe Manana1-2/+2
2025-05-15btrfs: rename free_extent_state() to include a btrfs prefixFilipe Manana1-3/+3
2025-05-15btrfs: rename the functions to count, test and get bit ranges in io treesFilipe Manana1-5/+5
2025-05-15btrfs: rename the functions to clear bits for an extent rangeFilipe Manana1-2/+2
2025-05-15btrfs: add btrfs prefix to main lock, try lock and unlock extent functionsFilipe Manana1-10/+10
2025-05-15btrfs: use folio_contains() for EOF detectionQu Wenruo1-3/+3
2025-05-15btrfs: remove unnecessary early exits in delalloc folio lock and unlockQu Wenruo1-8/+0
2025-05-15btrfs: prepare end_bbio_data_write() for large data foliosQu Wenruo1-3/+0
2025-05-15btrfs: use clear_extent_bit() at try_release_extent_state()Filipe Manana1-1/+1
2025-05-15btrfs: pass a pointer to get_range_bits() to cache first search resultFilipe Manana1-7/+11
2025-05-15btrfs: allow folios to be released while ordered extent is finishingFilipe Manana1-24/+28
2025-05-15btrfs: update comment for try_release_extent_state()Filipe Manana1-3/+3
2025-05-15btrfs: remove unused flag EXTENT_BUFFER_IN_TREEDaniel Vacek1-12/+6
2025-05-15btrfs: remove unused flag EXTENT_BUFFER_READ_ERRDaniel Vacek1-5/+2
2025-05-02btrfs: open code folio_index() in btree_clear_folio_dirty_tag()Kairui Song1-2/+2
2025-04-23btrfs: adjust subpage bit start based on sectorsizeJosef Bacik1-1/+1
2025-03-18btrfs: prepare extent_io.c for future large folio supportQu Wenruo1-13/+18
2025-03-18btrfs: add a size parameter to btrfs_alloc_subpage()Qu Wenruo1-1/+1
2025-03-18btrfs: subpage: make btrfs_is_subpage() check against a folioQu Wenruo1-7/+7
2025-03-18btrfs: avoid linker error in btrfs_find_create_tree_block()Mark Harmstone1-2/+5
2025-03-18btrfs: reject out-of-band dirty folios during writebackQu Wenruo1-1/+27
2025-03-18btrfs: allow buffered write to avoid full page read if it's block alignedQu Wenruo1-0/+4
2025-03-18btrfs: make btrfs_do_readpage() to do block-by-block readQu Wenruo1-26/+12
2025-03-18btrfs: introduce a read path dedicated extent lock helperQu Wenruo1-2/+180
2025-03-18btrfs: use num_extent_folios() in for loop boundsDavid Sterba1-30/+18
2025-03-18btrfs: simplify parameters of metadata folio helpersDavid Sterba1-20/+10
2025-03-18btrfs: merge alloc_dummy_extent_buffer() helpersDavid Sterba1-8/+2
2025-03-18btrfs: don't pass nodesize to __alloc_extent_buffer()David Sterba1-11/+9
2025-03-18btrfs: require strict data/metadata split for subpage checksQu Wenruo1-7/+3
2025-03-18btrfs: simplify subpage handling of read_extent_buffer_pages_nowait()Qu Wenruo1-13/+8
2025-03-18btrfs: simplify subpage handling of write_one_eb()Qu Wenruo1-29/+13
2025-03-18btrfs: simplify subpage handling of btrfs_clear_buffer_dirty()Qu Wenruo1-26/+10
2025-03-18btrfs: use metadata specific helpers to simplify extent buffer helpersQu Wenruo1-20/+4
2025-03-18btrfs: make subpage attach and detach handle metadata properlyQu Wenruo1-3/+3
2025-03-18btrfs: factor out metadata subpage detection into a dedicated helperQu Wenruo1-14/+14
2025-03-18btrfs: remove btrfs_fs_info::sectors_per_pageQu Wenruo1-11/+15
2025-03-18btrfs: avoid assigning twice to block_start at btrfs_do_readpage()Filipe Manana1-2/+4
2025-03-17btrfs: remove duplicated metadata folio flag update in end_bbio_meta_read()Qu Wenruo1-16/+0
2025-03-17btrfs: update some folio related commentsMatthew Wilcox (Oracle)1-5/+3
2025-02-13Merge tag 'for-6.14-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-9/+20
2025-02-11btrfs: fix stale page cache after race between readahead and direct IO writeFilipe Manana1-3/+15
2025-02-07btrfs: fix two misuses of folio_shift()Matthew Wilcox (Oracle)1-6/+5
2025-01-26Merge tag 'mm-stable-2025-01-26-14-59' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-1/+1
2025-01-25mm: alloc_pages_bulk: rename APILuiz Capitulino1-1/+1
2025-01-13btrfs: add extra error messages for delalloc range related errorsQu Wenruo1-0/+15
2025-01-13btrfs: fix double accounting race when extent_writepage_io() failedQu Wenruo1-13/+24
2025-01-13btrfs: fix double accounting race when btrfs_run_delalloc_range() failedQu Wenruo1-11/+48
2025-01-13btrfs: remove redundant variables from __process_folios_contig() and lock_del...David Sterba1-4/+2
2025-01-13btrfs: split waiting from read_extent_buffer_pages(), drop parameter waitDavid Sterba1-10/+17
2025-01-13btrfs: unwrap folio locking helpersDavid Sterba1-4/+4
2025-01-13btrfs: change return type to bool type of check_eb_alignment()David Sterba1-6/+8
2025-01-13btrfs: switch grab_extent_buffer() to foliosDavid Sterba1-8/+6
2025-01-13btrfs: rename btrfs_release_extent_buffer_pages() to mention foliosDavid Sterba1-5/+5
2025-01-13btrfs: open code __free_extent_buffer()David Sterba1-9/+4
2025-01-13btrfs: drop one time used local variable in end_bbio_meta_write()David Sterba1-2/+1
2025-01-13btrfs: make wait_on_extent_buffer_writeback() static inlineDavid Sterba1-6/+0
2025-01-13btrfs: use btrfs_inode in extent_writepage()David Sterba1-7/+7
2025-01-13btrfs: rename __get_extent_map() and pass btrfs_inodeDavid Sterba1-8/+7
2025-01-13btrfs: open code set_page_extent_mapped()David Sterba1-5/+0
2025-01-13btrfs: rename __unlock_for_delalloc() and drop underscoresDavid Sterba1-5/+4
2025-01-13btrfs: pass write-hint for buffered IOJing Xia1-0/+1
2025-01-13btrfs: use PTR_ERR() instead of PTR_ERR_OR_ZERO() for btrfs_get_extent()Qu Wenruo1-1/+1
2024-11-18Merge tag 'for-6.13-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kda...Linus Torvalds1-27/+84
2024-11-18Merge tag 'vfs-6.13.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vf...Linus Torvalds1-4/+3
2024-11-11btrfs: use filemap_get_folio() helperAnand Jain1-1/+1
2024-11-11btrfs: rename btrfs_folio_(set|start|end)_writer_lock()Qu Wenruo1-7/+7
2024-11-11btrfs: unify to use writer locks for subpage lockingQu Wenruo1-8/+2
2024-11-11btrfs: remove redundant initializations for struct btrfs_tree_parent_checkFilipe Manana1-1/+0
2024-11-11btrfs: drop unused parameter fs_info from folio_range_has_eb()David Sterba1-2/+2
2024-11-11btrfs: drop unused parameter mask from try_release_extent_state()David Sterba1-2/+2
2024-11-11btrfs: remove btrfs_set_range_writeback()Qu Wenruo1-1/+1
2024-11-11btrfs: correct typos in multiple comments across various filesShen Lichuan1-1/+1
2024-11-11btrfs: mark all dirty sectors as locked inside writepage_delalloc()Qu Wenruo1-3/+7
2024-11-11btrfs: move the delalloc range bitmap search into extent_io.cQu Wenruo1-1/+43
2024-11-11btrfs: do not assume the full page range is not dirty in extent_writepage_io()Qu Wenruo1-2/+0
2024-11-11btrfs: wait for writeback if sector size is smaller than page sizeQu Wenruo1-1/+21
2024-10-28fs/writeback: convert wbc_account_cgroup_owner to take a folioPankaj Raghav1-4/+3
2024-10-22btrfs: fix the delalloc range locking if sector size < page sizeQu Wenruo1-8/+9
2024-10-09btrfs: fix clear_dirty and writeback ordering in submit_one_sector()Naohiro Aota1-7/+7
2024-09-10btrfs: only unlock the to-be-submitted ranges inside a folioQu Wenruo1-38/+51
2024-09-10btrfs: merge btrfs_folio_unlock_writer() into btrfs_folio_end_writer_lock()Qu Wenruo1-1/+1
2024-09-10btrfs: remove btrfs_folio_end_all_writers()Qu Wenruo1-1/+2
2024-09-10btrfs: convert try_release_extent_mapping() to take a folioLi Zetao1-3/+3
2024-09-10btrfs: convert try_release_extent_state() to take a folioLi Zetao1-3/+3
2024-09-10btrfs: convert submit_eb_page() to take a folioLi Zetao1-5/+4
2024-09-10btrfs: convert submit_eb_subpage() to take a folioLi Zetao1-10/+9
2024-09-10btrfs: convert try_release_extent_buffer() to take a folioLi Zetao1-8/+7
2024-09-10btrfs: convert try_release_subpage_extent_buffer() to take a folioLi Zetao1-9/+9
2024-09-10btrfs: convert get_next_extent_buffer() to take a folioLi Zetao1-7/+7
2024-09-10btrfs: convert clear_page_extent_mapped() to take a folioLi Zetao1-5/+4
2024-09-10btrfs: do not hold the extent lock for entire readJosef Bacik1-90/+4
2024-09-10btrfs: rename __extent_writepage() and drop double underscoresDavid Sterba1-14/+14
2024-09-10btrfs: rename btrfs_submit_bio() to btrfs_submit_bbio()David Sterba1-3/+3
2024-09-10btrfs: subpage: remove btrfs_fs_info::subpage_info memberQu Wenruo1-4/+4
2024-09-10btrfs: remove the nr_ret parameter from __extent_writepage_io()Qu Wenruo1-25/+17
2024-09-10btrfs: refactor __extent_writepage_io() to do sector-by-sector submissionQu Wenruo1-111/+87
2024-09-10btrfs: convert find_next_dirty_byte() to take a folioJosef Bacik1-9/+9
2024-09-10btrfs: convert __get_extent_map() to take a folioJosef Bacik1-5/+6
2024-09-10btrfs: convert btrfs_get_extent() to take a folioJosef Bacik1-1/+1
2024-09-10btrfs: convert btrfs_writepage_cow_fixup() to use folioJosef Bacik1-1/+1
2024-09-10btrfs: convert btrfs_run_delalloc_range() to take a folioJosef Bacik1-1/+1
2024-09-10btrfs: convert extent_write_locked_range() to take a folioJosef Bacik1-2/+2
2024-09-10btrfs: convert extent_clear_unlock_delalloc() to take a folioJosef Bacik1-3/+3
2024-09-10btrfs: convert process_one_page() to operate only on foliosJosef Bacik1-8/+6
2024-09-10btrfs: convert __process_pages_contig() to take a folioJosef Bacik1-9/+10
2024-09-10btrfs: convert __unlock_for_delalloc() to take a folioJosef Bacik1-9/+9
2024-09-10btrfs: convert lock_delalloc_pages() to take a folioJosef Bacik1-12/+11
2024-09-10btrfs: convert find_lock_delalloc_range() to use a folioJosef Bacik1-14/+14
2024-09-10btrfs: convert writepage_delalloc() to take a folioJosef Bacik1-18/+20
2024-09-10btrfs: convert btrfs_mark_ordered_io_finished() to take a folioJosef Bacik1-4/+4
2024-09-10btrfs: convert btrfs_finish_ordered_extent() to take a folioJosef Bacik1-2/+2
2024-09-10btrfs: convert __extent_writepage() to be completely folio basedJosef Bacik1-18/+17
2024-09-10btrfs: convert extent_write_locked_range() to use foliosJosef Bacik1-13/+23
2024-09-10btrfs: convert __extent_writepage_io() to take a folioJosef Bacik1-28/+27
2024-09-10btrfs: update the writepage tracepoint to take a folioJosef Bacik1-1/+1
2024-09-10btrfs: convert btrfs_do_readpage() to only use a folioJosef Bacik1-29/+29
2024-09-10btrfs: convert submit_extent_page() to use a folioJosef Bacik1-20/+22
2024-09-10btrfs: convert begin_page_folio() to take a folio insteadJosef Bacik1-5/+3
2024-09-10btrfs: convert end_page_read() to take a folioJosef Bacik1-19/+20
2024-09-10btrfs: convert btrfs_read_folio() to only use a folioJosef Bacik1-5/+4
2024-09-10btrfs: convert btrfs_readahead() to only use folioJosef Bacik1-28/+8
2024-08-13btrfs: fix invalid mapping of extent xarray stateNaohiro Aota1-7/+7
2024-07-11btrfs: move extent_range_clear_dirty_for_io() into inode.cQu Wenruo1-15/+0
2024-07-11btrfs: rename the extra_gfp parameter of btrfs_alloc_page_array()Qu Wenruo1-10/+10
2024-07-11btrfs: remove the extra_gfp parameter from btrfs_alloc_folio_array()Qu Wenruo1-5/+3
2024-07-11btrfs: pass a btrfs_inode to is_data_inode()David Sterba1-1/+1
2024-07-11btrfs: constify pointer parameters where applicableDavid Sterba1-13/+13
2024-07-11btrfs: make extent_write_locked_range() handle subpage writeback correctlyQu Wenruo1-2/+5
2024-07-11btrfs: do not clear page dirty inside extent_write_locked_range()Qu Wenruo1-3/+1
2024-07-11btrfs: lock subpage ranges in one go for writepage_delalloc()Qu Wenruo1-7/+98
2024-07-11btrfs: make __extent_writepage_io() to write specified range onlyQu Wenruo1-7/+11
2024-07-11btrfs: remove extent_map::block_start memberQu Wenruo1-5/+5
2024-07-11btrfs: move fiemap code into its own fileFilipe Manana1-871/+0
2024-07-11btrfs: constify parameters of write_eb_member() and its usersDavid Sterba1-1/+1
2024-07-11btrfs: remove duplicate name variable declarationsDavid Sterba1-3/+1
2024-07-04btrfs: fix folio refcount in __alloc_dummy_extent_buffer()Boris Burkov1-1/+1
2024-06-06btrfs: protect folio::private when attaching extent buffer foliosQu Wenruo1-29/+31
2024-05-07btrfs: count super block write errors in device instead of tracking folio err...Matthew Wilcox (Oracle)1-1/+1
2024-05-07btrfs: add a cached state to extent_clear_unlock_delallocJosef Bacik1-1/+2
2024-05-07btrfs: push the extent lock into btrfs_run_delalloc_rangeJosef Bacik1-3/+2
2024-05-07btrfs: make try_release_extent_mapping() return a boolFilipe Manana1-8/+9
2024-05-07btrfs: be better releasing extent maps at try_release_extent_mapping()Filipe Manana1-59/+61
2024-05-07btrfs: remove i_size restriction at try_release_extent_mapping()Filipe Manana1-2/+1
2024-05-07btrfs: use btrfs_get_fs_generation() at try_release_extent_mapping()Filipe Manana1-6/+1