aboutsummaryrefslogtreecommitdiffstats
path: root/fs/iomap/buffered-io.c
AgeCommit message (Expand)AuthorFilesLines
2024-04-25iomap: do some small logical cleanup in buffered writeZhang Yi1-5/+3
2024-04-25iomap: make iomap_write_end() return a booleanZhang Yi1-17/+31
2024-04-25iomap: use a new variable to handle the written bytes in iomap_write_iter()Zhang Yi1-16/+17
2024-04-25iomap: don't increase i_size if it's not a write operationZhang Yi1-25/+25
2024-04-25iomap: drop the write failure handles when unsharing and zeroingZhang Yi1-4/+6
2024-04-15iomap: convert iomap_writepages to writeack_iterChristoph Hellwig1-9/+5
2024-03-04Merge tag 'vfs-6.9.rw_hint' of gitolite.kernel.org:pub/scm/linux/kernel/git/v...Christian Brauner1-0/+1
2024-02-21iomap: add pos and dirty_len into trace_iomap_writepage_mapZhang Yi1-1/+1
2024-02-06block, fs: Restore the per-bio/request data lifetime fieldsBart Van Assche1-0/+1
2024-02-01iomap: pass the length of the dirty region to ->map_blocksChristoph Hellwig1-1/+1
2024-02-01iomap: map multiple blocks at a timeChristoph Hellwig1-35/+81
2024-02-01iomap: submit ioends immediatelyChristoph Hellwig1-86/+76
2024-02-01iomap: factor out a iomap_writepage_map_block helperChristoph Hellwig1-27/+43
2024-02-01iomap: only call mapping_set_error once for each failed bioChristoph Hellwig1-13/+14
2024-02-01iomap: don't chain biosChristoph Hellwig1-67/+23
2024-02-01iomap: move the iomap_sector sector calculation out of iomap_add_to_ioendChristoph Hellwig1-14/+11
2024-02-01iomap: clean up the iomap_alloc_ioend calling conventionChristoph Hellwig1-6/+5
2024-02-01iomap: move all remaining per-folio logic into iomap_writepage_mapChristoph Hellwig1-23/+11
2024-02-01iomap: factor out a iomap_writepage_handle_eof helperChristoph Hellwig1-66/+62
2024-02-01iomap: move the PF_MEMALLOC check to iomap_writepagesChristoph Hellwig1-16/+8
2024-02-01iomap: move the io_folios field out of struct iomap_ioendChristoph Hellwig1-3/+4
2024-02-01iomap: treat inline data in iomap_writepage_map as an I/O errorChristoph Hellwig1-2/+4
2024-02-01iomap: clear the per-folio dirty bits on all writeback failuresChristoph Hellwig1-7/+11
2023-12-10mm: add folio_fill_tail() and use it in iomapMatthew Wilcox (Oracle)1-12/+2
2023-11-02Merge tag 'mm-stable-2023-11-01-14-33' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-22/+35
2023-10-19iomap: fix short copy in iomap_write_iter()Jan Stancek1-3/+7
2023-10-18iomap: use folio_end_read()Matthew Wilcox (Oracle)1-3/+1
2023-10-18iomap: protect read_bytes_pending with the state_lockMatthew Wilcox (Oracle)1-12/+25
2023-10-18iomap: hold state_lock over call to ifs_set_range_uptodate()Matthew Wilcox (Oracle)1-9/+11
2023-09-28iomap: Spelling s/preceeding/preceding/gGeert Uytterhoeven1-1/+1
2023-09-19iomap: convert iomap_unshare_iter to use large foliosDarrick J. Wong1-10/+14
2023-09-18iomap: don't skip reading in !uptodate folios when unsharing a rangeDarrick J. Wong1-2/+4
2023-08-29Merge tag 'for-6.6/block-2023-08-28' of git://git.kernel.dk/linuxLinus Torvalds1-1/+1
2023-08-02fs: rename and move block_page_mkwrite_returnChristoph Hellwig1-1/+1
2023-07-25iomap: Add per-block dirty state tracking to improve performanceRitesh Harjani (IBM)1-11/+150
2023-07-25iomap: Allocate ifs in ->write_begin() earlyRitesh Harjani (IBM)1-2/+11
2023-07-25iomap: Refactor iomap_write_delalloc_punch() function outRitesh Harjani (IBM)1-20/+34
2023-07-25iomap: Use iomap_punch_t typedefRitesh Harjani (IBM)1-5/+4
2023-07-25iomap: Fix possible overflow condition in iomap_write_delalloc_scanRitesh Harjani (IBM)1-1/+1
2023-07-25iomap: Add some uptodate state handling helpers for ifs state bitmapRitesh Harjani (IBM)1-8/+20
2023-07-25iomap: Drop ifs argument from iomap_set_range_uptodate()Ritesh Harjani (IBM)1-34/+33
2023-07-25iomap: Rename iomap_page to iomap_folio_state and othersRitesh Harjani (IBM)1-77/+70
2023-07-24iomap: Copy larger chunks from userspaceMatthew Wilcox (Oracle)1-15/+17
2023-07-24iomap: Create large folios in the buffered write pathMatthew Wilcox (Oracle)1-2/+4
2023-07-24filemap: Add fgf_t typedefMatthew Wilcox (Oracle)1-1/+1
2023-07-24iomap: Remove unnecessary test from iomap_release_folio()Matthew Wilcox (Oracle)1-5/+4
2023-07-24iomap: Remove large folio handling in iomap_invalidate_folio()Matthew Wilcox (Oracle)1-5/+0
2023-07-17iomap: micro optimize the ki_pos assignment in iomap_file_buffered_writeChristoph Hellwig1-1/+1
2023-07-17iomap: fix a regression for partial write errorsChristoph Hellwig1-1/+1
2023-07-02Merge tag 'iomap-6.5-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linuxLinus Torvalds1-1/+1
2023-06-29fs: iomap: Change the type of blocksize from 'int' to 'unsigned int' in iomap...Lu Hongfei1-1/+1
2023-06-28Merge tag 'mm-stable-2023-06-24-19-15' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-3/+6
2023-06-09iomap: update ki_pos in iomap_file_buffered_writeChristoph Hellwig1-3/+6
2023-06-01fs: iomap: use bio_add_folio_nofail where possibleJohannes Thumshirn1-3/+3
2023-04-27Merge tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-9/+2
2023-04-06fs: Add FGP_WRITEBEGINMatthew Wilcox1-1/+1
2023-04-05mm: return an ERR_PTR from __filemap_get_folioChristoph Hellwig1-9/+2
2023-02-23Merge tag 'mm-stable-2023-02-20-13-37' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-3/+2
2023-02-02fs: convert writepage_t callback to pass a folioMatthew Wilcox (Oracle)1-3/+2
2023-01-18iomap: Rename page_ops to folio_opsAndreas Gruenbacher1-10/+10
2023-01-18iomap: Rename page_prepare handler to get_folioAndreas Gruenbacher1-2/+2
2023-01-18iomap: Add __iomap_get_folio helperAndreas Gruenbacher1-4/+12
2023-01-18iomap/gfs2: Get page in page_prepare handlerAndreas Gruenbacher1-11/+6
2023-01-18iomap: Add iomap_get_folio helperAndreas Gruenbacher1-9/+30
2023-01-18iomap: Rename page_done handler to put_folioAndreas Gruenbacher1-2/+2
2023-01-18iomap/gfs2: Unlock and put folio in page_done handlerAndreas Gruenbacher1-4/+4
2023-01-18iomap: Add __iomap_put_folio helperAndreas Gruenbacher1-12/+17
2022-11-29iomap: write iomap validity checksDave Chinner1-1/+28
2022-11-29iomap: buffered write failure should not truncate the page cacheDave Chinner1-15/+180
2022-11-23xfs,iomap: move delalloc punching to iomapDave Chinner1-0/+60
2022-10-02iomap: add a tracepoint for mappings returned by map_blocksDarrick J. Wong1-0/+1
2022-10-02iomap: iomap: fix memory corruption when recording errors during writebackDarrick J. Wong1-1/+1
2022-08-11Merge tag 'iomap-6.0-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linuxLinus Torvalds1-15/+0
2022-08-03Merge tag 'iomap-5.20-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linuxLinus Torvalds1-7/+8
2022-08-03Merge tag 'folio-6.0' of git://git.infradead.org/users/willy/pagecacheLinus Torvalds1-28/+0
2022-08-02mm/migrate: Add filemap_migrate_folio()Matthew Wilcox (Oracle)1-25/+0
2022-07-24iomap: Return -EAGAIN from iomap_write_iter()Stefan Roesch1-0/+4
2022-07-24iomap: Add async buffered write supportStefan Roesch1-5/+28
2022-07-24iomap: Add flags parameter to iomap_page_create()Stefan Roesch1-10/+20
2022-07-22iomap: remove iomap_writepageChristoph Hellwig1-15/+0
2022-06-30iomap: set did_zero to true when zeroing successfullyKaixu Xia1-2/+2
2022-06-30iomap: skip pages past eof in iomap_do_writepage()Chris Mason1-5/+6
2022-06-29iomap: Remove test for folio errorMatthew Wilcox (Oracle)1-3/+0
2022-05-24Merge tag 'folio-5.19' of git://git.infradead.org/users/willy/pagecacheLinus Torvalds1-21/+17
2022-05-16iomap: don't invalidate folios after writeback errorsDarrick J. Wong1-1/+0
2022-05-09iomap: Convert to release_folioMatthew Wilcox (Oracle)1-12/+10
2022-05-09fs: Convert mpage_readpage to mpage_read_folioMatthew Wilcox (Oracle)1-1/+1
2022-05-09fs: Convert block_read_full_page() to block_read_full_folio()Matthew Wilcox (Oracle)1-1/+1
2022-05-09fs: Convert iomap_readpage to iomap_read_folioMatthew Wilcox (Oracle)1-7/+5
2022-05-08iomap: iomap_write_end cleanupAndreas Gruenbacher1-1/+1
2022-05-08iomap: iomap_write_failed fixAndreas Gruenbacher1-1/+2
2022-04-01iomap: Simplify is_partially_uptodate a littleMatthew Wilcox (Oracle)1-5/+4
2022-03-26Merge tag 'write-page-prefaulting' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-1/+1
2022-03-26Merge tag 'for-5.18/write-streams-2022-03-18' of git://git.kernel.dk/linux-blockLinus Torvalds1-2/+0
2022-03-25fs/iomap: Fix buffered write page prefaultingAndreas Gruenbacher1-1/+1
2022-03-22Merge tag 'folio-5.18b' of git://git.infradead.org/users/willy/pagecacheLinus Torvalds1-28/+18
2022-03-21Merge tag 'for-5.18/block-2022-03-18' of git://git.kernel.dk/linux-blockLinus Torvalds1-14/+12
2022-03-15iomap: Remove iomap_invalidatepage()Matthew Wilcox (Oracle)1-8/+1
2022-03-14fs: Convert is_partially_uptodate to foliosMatthew Wilcox (Oracle)1-20/+16
2022-03-14iomap: Fix iomap_invalidatepage tracepointMatthew Wilcox (Oracle)1-1/+2
2022-03-07block: remove the per-bio/request write hintChristoph Hellwig1-2/+0
2022-03-07Merge branch 'for-5.18/block' into for-5.18/write-streamsJens Axboe1-14/+12
2022-02-02block: pass a block_device and opf to bio_initChristoph Hellwig1-3/+1
2022-02-02block: pass a block_device and opf to bio_allocChristoph Hellwig1-8/+8
2022-02-02block: pass a block_device and opf to bio_alloc_biosetChristoph Hellwig1-3/+3
2022-01-26xfs, iomap: limit individual ioend chain lengths in writebackDave Chinner1-4/+48
2022-01-12Merge tag 'libnvdimm-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-10/+0
2021-12-23iomap: Fix error handling in iomap_zero_iter()Matthew Wilcox (Oracle)1-2/+2
2021-12-21iomap: Inline __iomap_zero_iter into its callerMatthew Wilcox (Oracle)1-28/+27
2021-12-18iomap: Support large folios in invalidatepageMatthew Wilcox (Oracle)1-2/+7
2021-12-18iomap: Convert iomap_migrate_page() to use foliosMatthew Wilcox (Oracle)1-5/+7
2021-12-18iomap: Convert iomap_add_to_ioend() to take a folioMatthew Wilcox (Oracle)1-36/+34
2021-12-18iomap: Simplify iomap_do_writepage()Matthew Wilcox (Oracle)1-13/+10
2021-12-18iomap: Simplify iomap_writepage_map()Matthew Wilcox (Oracle)1-11/+10
2021-12-18iomap,xfs: Convert ->discard_page to ->discard_folioMatthew Wilcox (Oracle)1-2/+2
2021-12-18iomap: Convert iomap_write_end_inline to take a folioMatthew Wilcox (Oracle)1-5/+5
2021-12-18iomap: Convert iomap_write_begin() and iomap_write_end() to foliosMatthew Wilcox (Oracle)1-38/+33
2021-12-18iomap: Convert __iomap_zero_iter to use a folioMatthew Wilcox (Oracle)1-5/+9
2021-12-18iomap: Allow iomap_write_begin() to be called with the full lengthMatthew Wilcox (Oracle)1-1/+8
2021-12-16iomap: Convert iomap_page_mkwrite to use a folioMatthew Wilcox (Oracle)1-13/+12
2021-12-16iomap: Convert readahead and readpage to use a folioMatthew Wilcox (Oracle)1-27/+26
2021-12-16iomap: Convert iomap_read_inline_data to take a folioMatthew Wilcox (Oracle)1-8/+9
2021-12-16iomap: Use folio offsets instead of page offsetsMatthew Wilcox (Oracle)1-38/+40
2021-12-16iomap: Convert bio completions to use foliosMatthew Wilcox (Oracle)1-29/+21
2021-12-16iomap: Pass the iomap_page into iomap_set_range_uptodateMatthew Wilcox (Oracle)1-14/+18
2021-12-16iomap: Add iomap_invalidate_folioMatthew Wilcox (Oracle)1-8/+12
2021-12-16iomap: Convert iomap_releasepage to use a folioMatthew Wilcox (Oracle)1-3/+3
2021-12-16iomap: Convert iomap_page_release to take a folioMatthew Wilcox (Oracle)1-7/+11
2021-12-16iomap: Convert iomap_page_create to take a folioMatthew Wilcox (Oracle)1-9/+12
2021-12-16iomap: Convert to_iomap_page to take a folioMatthew Wilcox (Oracle)1-17/+15
2021-12-16fs/buffer: Convert __block_write_begin_int() to take a folioMatthew Wilcox (Oracle)1-2/+5
2021-12-08iomap: turn the byte variable in iomap_zero_iter into a ssize_tChristoph Hellwig1-1/+1
2021-12-04fsdax: decouple zeroing from the iomap buffered I/O codeChristoph Hellwig1-23/+12
2021-11-24iomap: iomap_read_inline_data cleanupAndreas Gruenbacher1-16/+15
2021-11-21iomap: Fix inline extent handling in iomap_readpageAndreas Gruenbacher1-2/+9
2021-10-18iov_iter: Turn iov_iter_fault_in_readable into fault_in_iov_iter_readableAndreas Gruenbacher1-1/+1
2021-08-16iomap: constify iomap_iter_srcmapChristoph Hellwig1-19/+19
2021-08-16iomap: rework unshare flagChristoph Hellwig1-14/+9
2021-08-16iomap: pass an iomap_iter to various buffered I/O helpersChristoph Hellwig1-71/+66
2021-08-16iomap: switch iomap_page_mkwrite to use iomap_iterChristoph Hellwig1-22/+17
2021-08-16iomap: switch iomap_zero_range to use iomap_iterChristoph Hellwig1-18/+18
2021-08-16iomap: switch iomap_file_unshare to use iomap_iterChristoph Hellwig1-17/+18
2021-08-16iomap: switch iomap_file_buffered_write to use iomap_iterChristoph Hellwig1-24/+25
2021-08-16iomap: switch readahead and readpage to use iomap_iterChristoph Hellwig1-43/+37
2021-08-16iomap: fix the iomap_readpage_actor return value for inline dataChristoph Hellwig1-2/+2
2021-08-16iomap: mark the iomap argument to iomap_read_page_sync constChristoph Hellwig1-1/+1
2021-08-16iomap: mark the iomap argument to iomap_read_inline_data constChristoph Hellwig1-1/+1
2021-08-16iomap: remove the iomap arguments to ->page_{prepare,done}Christoph Hellwig1-3/+3
2021-08-16iomap: pass writeback errors to the mappingDarrick J. Wong1-1/+1
2021-08-05iomap: Add another assertion to inline data handlingMatthew Wilcox (Oracle)1-0/+2
2021-08-05iomap: Use kmap_local_page instead of kmap_atomicMatthew Wilcox (Oracle)1-5/+5
2021-08-03iomap: Fix some typos and bad grammarAndreas Gruenbacher1-36/+36
2021-08-03iomap: Support inline data with block size < page sizeMatthew Wilcox (Oracle)1-18/+16
2021-08-03iomap: support reading inline data from non-zero posGao Xiang1-12/+30
2021-08-03iomap: simplify iomap_add_to_ioendChristoph Hellwig1-12/+5
2021-08-03iomap: simplify iomap_readpage_actorChristoph Hellwig1-12/+4
2021-07-15iomap: Don't create iomap_page objects in iomap_page_mkwrite_actorAndreas Gruenbacher1-1/+0
2021-07-15iomap: Don't create iomap_page objects for inline filesAndreas Gruenbacher1-1/+3
2021-07-15iomap: Permit pages without an iop to enter writebackAndreas Gruenbacher1-2/+1
2021-07-03Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-20/+15
2021-06-29iomap: use __set_page_dirty_nobuffersMatthew Wilcox (Oracle)1-26/+1
2021-06-10iov_iter: replace iov_iter_copy_from_user_atomic() with iterator-advancing va...Al Viro1-7/+7
2021-06-02generic_perform_write()/iomap_write_actor(): saner logics for short copyAl Viro1-15/+10
2021-05-14mm/filemap: fix readahead return typesMatthew Wilcox (Oracle)1-2/+2
2021-05-04iomap: remove unused private field from ioendBrian Foster1-6/+1
2021-04-08treewide: Change list_sort to use const pointersSami Tolvanen1-1/+2
2021-03-11block: rename BIO_MAX_PAGES to BIO_MAX_VECSChristoph Hellwig1-2/+2
2021-02-28Merge tag 'xfs-5.12-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linuxLinus Torvalds1-7/+0
2021-02-26block: Add bio_max_segsMatthew Wilcox (Oracle)1-2/+2
2021-02-25xfs: use current->journal_info for detecting transaction recursionDave Chinner1-7/+0
2020-12-02mm: memcontrol: Use helpers to read page's memcg dataRoman Gushchin1-1/+1
2020-11-04iomap: clean up writeback state logic on writepage errorBrian Foster1-13/+2
2020-11-04iomap: support partial page discard on writeback block mapping failureBrian Foster1-7/+8
2020-09-28iomap: Set all uptodate bits for an Uptodate pageMatthew Wilcox (Oracle)1-0/+2
2020-09-21iomap: Change calling convention for zeroingMatthew Wilcox (Oracle)1-18/+15
2020-09-21iomap: Convert iomap_write_end typesMatthew Wilcox (Oracle)1-19/+12
2020-09-21iomap: Convert write_count to write_bytes_pendingMatthew Wilcox (Oracle)1-9/+10
2020-09-21iomap: Convert read_count to read_bytes_pendingMatthew Wilcox (Oracle)1-29/+12
2020-09-21iomap: Support arbitrarily many blocks per pageMatthew Wilcox (Oracle)1-5/+17
2020-09-21iomap: Use bitmap ops to set uptodate bitsMatthew Wilcox (Oracle)1-10/+2
2020-09-21iomap: Use kzalloc to allocate iomap_pageMatthew Wilcox (Oracle)1-9/+1
2020-09-21fs: Introduce i_blocks_per_pageMatthew Wilcox (Oracle)1-4/+4
2020-09-21iomap: Fix misplaced page flushingMatthew Wilcox (Oracle)1-2/+1
2020-09-21iomap: Use round_down/round_up macros in __iomap_write_beginNikolay Borisov1-2/+2
2020-09-10iomap: Mark read blocks uptodate in write_beginMatthew Wilcox (Oracle)1-8/+6
2020-09-10iomap: Clear page error before beginning a writeMatthew Wilcox (Oracle)1-0/+1
2020-06-13Merge tag 'iomap-5.8-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linuxLinus Torvalds1-1/+1
2020-06-08iomap: Fix unsharing of an extent >2GB on a 32-bit machineMatthew Wilcox (Oracle)1-1/+1
2020-06-02iomap: use attach/detach_page_privateGuoqing Jiang1-15/+4
2020-06-02iomap: convert from readpages to readaheadMatthew Wilcox (Oracle)1-59/+31
2020-06-02fs: convert mpage_readpages to mpage_readaheadMatthew Wilcox (Oracle)1-1/+1
2020-04-08Merge tag 'iomap-5.7-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linuxLinus Torvalds1-0/+8
2020-04-08Merge tag 'libnvdimm-for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-8/+1
2020-04-02dax,iomap: Add helper dax_iomap_zero() to zero a rangeVivek Goyal1-8/+1
2020-04-02iomap: Handle memory allocation failure in readaheadMatthew Wilcox (Oracle)1-0/+8
2020-03-05iomap: Remove pgoff from tracepointsMatthew Wilcox (Oracle)1-3/+4
2020-01-06fs: Fix page_mkwrite off-by-one errorsAndreas Gruenbacher1-13/+5
2019-12-05iomap: stop using ioend after it's been freed in iomap_finish_ioend()Zorro Lang1-2/+3
2019-12-04iomap: fix sub-page uptodate handlingChristoph Hellwig1-10/+25
2019-11-07iomap: Fix overflow in iomap_page_mkwriteAndreas Gruenbacher1-4/+3