aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent_io.c
AgeCommit message (Expand)AuthorFilesLines
2026-06-09btrfs: switch local indicator variables to boolsDavid Sterba1-16/+16
2026-06-09btrfs: allocate eb-attached btree pages as movableRik van Riel1-21/+22
2026-06-09btrfs: replace __free_page with folio_put() in attach_eb_folio_to_filemap()Matthew Wilcox (Oracle)1-3/+3
2026-06-09btrfs: introduce support for huge foliosQu Wenruo1-13/+10
2026-06-09btrfs: migrate btrfs_bio_ctrl::submit_bitmap to support larger bitmapsQu Wenruo1-21/+42
2026-06-09btrfs: prepare subpage operations to support more than BITS_PER_LONG sub-bitmapsQu Wenruo1-6/+1
2026-06-08btrfs: remove folio ordered flag and subpage bitmapQu Wenruo1-7/+0
2026-06-08btrfs: remove folio_test_ordered() usageQu Wenruo1-1/+0
2026-06-08btrfs: unify folio dirty flag clearingQu Wenruo1-13/+13
2026-06-08btrfs: detect dirty blocks without an ordered extent more reliablyQu Wenruo1-31/+54
2026-06-08btrfs: unexport and move extent_invalidate_folio()Qu Wenruo1-32/+0
2026-06-08btrfs: warn about extent buffer that can not be releasedQu Wenruo1-6/+0
2026-06-08btrfs: make sure report_eb_range() is not inlinedFilipe Manana1-6/+7
2026-06-08btrfs: limit size of bios submitted from writebackJan Kara1-0/+10
2026-06-08btrfs: change return type from int to bool in check_eb_range()Filipe Manana1-2/+2
2026-06-08btrfs: replace open coded DEBUG_WARN in extent_writepage()David Sterba1-1/+1
2026-06-08btrfs: remove the COW fixup mechanismQu Wenruo1-14/+9
2026-06-08btrfs: pass a valid btrfs_tree_parent_check when possibleQu Wenruo1-1/+1
2026-04-27Merge tag 'for-7.1-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-2/+12
2026-04-21btrfs: apply first key check for readahead when possibleQu Wenruo1-2/+12
2026-04-15Merge tag 'mm-stable-2026-04-13-21-45' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-3/+3
2026-04-07btrfs: tag as unlikely if statements that check for fs in error stateFilipe Manana1-1/+1
2026-04-07btrfs: use common eb range validation in read_extent_buffer_to_user_nofault()David Sterba1-2/+2
2026-04-07btrfs: read eb folio index right before loopsDavid Sterba1-9/+10
2026-04-07btrfs: remove atomic parameter from btrfs_buffer_uptodate()Qu Wenruo1-3/+3
2026-04-07btrfs: revalidate cached tree blocks on the uptodate pathZhengYuan Huang1-2/+19
2026-04-07btrfs: move the mapping_set_error() out of the loop in end_bbio_data_write()Qu Wenruo1-3/+3
2026-04-07btrfs: remove the alignment check in end_bbio_data_write()Qu Wenruo1-11/+0
2026-04-07btrfs: inhibit extent buffer writeback to prevent COW amplificationLeo Martins1-1/+63
2026-04-07btrfs: remove folio parameter from ordered io related functionsQu Wenruo1-9/+14
2026-04-07btrfs: remove out-of-date comments in btree_writepages()Qu Wenruo1-30/+4
2026-04-07btrfs: use the helper extent_buffer_uptodate() everywhereFilipe Manana1-3/+3
2026-04-05folio_batch: rename PAGEVEC_SIZE to FOLIO_BATCH_SIZETal Zussman1-2/+2
2026-04-05folio_batch: rename pagevec.h to folio_batch.hTal Zussman1-1/+1
2026-03-12Merge tag 'for-7.0-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-0/+1
2026-03-03btrfs: add missing RCU unlock in error path in try_release_subpage_extent_buf...Bart Van Assche1-0/+1
2026-02-12Merge tag 'fsverity-for-linus' of git://git.kernel.org/pub/scm/fs/fsverity/linuxLinus Torvalds1-20/+33
2026-02-04btrfs: consolidate fsverity_info lookupChristoph Hellwig1-21/+33
2026-02-03btrfs: remove out_failed label in find_lock_delalloc_range()Filipe Manana1-3/+2
2026-02-03btrfs: use the btrfs_extent_map_end() helper everywhereFilipe Manana1-1/+1
2026-02-03btrfs: replace for_each_set_bit() with for_each_set_bitmap()Qu Wenruo1-10/+16
2026-02-03btrfs: concentrate the error handling of submit_one_sector()Qu Wenruo1-14/+15
2026-02-03btrfs: search for larger extent maps inside btrfs_do_readpage()Qu Wenruo1-1/+14
2026-02-02fsverity: push out fsverity_info lookupChristoph Hellwig1-1/+2
2026-01-29Merge tag 'for-6.19-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-2/+1
2026-01-21btrfs: do not strictly require dirty metadata threshold for metadata writepagesQu Wenruo1-2/+1
2026-01-05Merge tag 'for-6.19-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-4/+4
2025-12-16btrfs: fix beyond-EOF write handlingQu Wenruo1-4/+4
2025-12-03Merge tag 'for-6.19-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kda...Linus Torvalds1-22/+35
2025-12-01Merge tag 'vfs-6.19-rc1.folio' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-8/+8
2025-12-01Merge 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