aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/file.c
AgeCommit message (Expand)AuthorFilesLines
3 daysMerge tag 'vfs-6.19-rc1.folio' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-4/+5
2025-10-31btrfs: Use folio_next_pos()Matthew Wilcox (Oracle)1-4/+5
2025-10-30btrfs: mark dirty extent range for out of bound prealloc extentsaustinchang1-0/+10
2025-09-23btrfs: add unlikely annotations to branches leading to transaction abortDavid Sterba1-22/+21
2025-09-23btrfs: add unlikely annotations to branches leading to EIODavid Sterba1-1/+1
2025-09-23btrfs: fix typos in comments and stringsDavid Sterba1-2/+2
2025-07-28Merge tag 'vfs-6.17-rc1.mmap_prepare' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-3/+4
2025-07-22btrfs: make btrfs_check_nocow_lock() check more than one extentFilipe Manana1-9/+30
2025-07-22btrfs: update function comment for btrfs_check_nocow_lock()Filipe Manana1-1/+3
2025-07-22btrfs: use btrfs_inode local variable at btrfs_page_mkwrite()Filipe Manana1-34/+30
2025-07-22btrfs: use variable for io_tree when clearing range in btrfs_page_mkwrite()Filipe Manana1-1/+1
2025-07-22btrfs: fix -ENOSPC mmap write failure on NOCOW files/extentsFilipe Manana1-8/+51
2025-07-21btrfs: use pgoff_t for page index variablesDavid Sterba1-1/+1
2025-07-21btrfs: use folio_next_index() helper in check_range_has_page()Qianfeng Rong1-1/+1
2025-07-21btrfs: use folio_end() where appropriateDavid Sterba1-5/+4
2025-07-21btrfs: use on-stack variable for block reserve in btrfs_replace_file_extents()David Sterba1-17/+12
2025-06-19fs: replace mmap hook with .mmap_prepare for simple mappingsLorenzo Stoakes1-3/+4
2025-05-15btrfs: use a single variable to track return value at btrfs_page_mkwrite()Filipe Manana1-21/+16
2025-05-15btrfs: don't return VM_FAULT_SIGBUS on failure to set delalloc for mmap writeFilipe Manana1-1/+1
2025-05-15btrfs: simplify early error checking in btrfs_page_mkwrite()Filipe Manana1-8/+7
2025-05-15btrfs: pass true to btrfs_delalloc_release_space() at btrfs_page_mkwrite()Filipe Manana1-1/+1
2025-05-15btrfs: fix wrong start offset for delalloc space release during mmap writeFilipe Manana1-1/+1
2025-05-15btrfs: simplify error return logic when getting folio at prepare_one_folio()Filipe Manana1-7/+3
2025-05-15btrfs: handle unaligned EOF truncation correctly for subpage casesQu Wenruo1-16/+17
2025-05-15btrfs: trivial conversion to return bool instead of intDavid Sterba1-17/+16
2025-05-15btrfs: rename iov_iter iterator parameter in btrfs_buffered_write()David Sterba1-4/+4
2025-05-15btrfs: rename functions to allocate and free extent mapsFilipe Manana1-12/+12
2025-05-15btrfs: rename extent map functions to get block start, end and check if in treeFilipe Manana1-3/+3
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-4/+4
2025-05-15btrfs: rename the functions to clear bits for an extent rangeFilipe Manana1-6/+6
2025-05-15btrfs: add btrfs prefix to main lock, try lock and unlock extent functionsFilipe Manana1-30/+31
2025-05-15btrfs: prepare prepare_one_folio() for large data foliosQu Wenruo1-2/+0
2025-05-15btrfs: prepare btrfs_page_mkwrite() for large data foliosQu Wenruo1-3/+1
2025-05-15btrfs: do more trivial BTRFS_PATH_AUTO_FREE conversionsDavid Sterba1-2/+1
2025-05-15btrfs: prepare btrfs_punch_hole_lock_range() for large data foliosQu Wenruo1-11/+56
2025-05-15btrfs: prepare btrfs_buffered_write() for large data foliosQu Wenruo1-3/+30
2025-05-15btrfs: refactor how we handle reserved space inside copy_one_range()Qu Wenruo1-41/+59
2025-05-15btrfs: factor out the main loop of btrfs_buffered_write() into a helperQu Wenruo1-142/+144
2025-05-15btrfs: factor out space reservation code from btrfs_buffered_write()Qu Wenruo1-45/+59
2025-05-15btrfs: cleanup the reserved space inside loop of btrfs_buffered_write()Qu Wenruo1-17/+28
2025-05-15btrfs: remove force_page_uptodate variable from btrfs_buffered_write()Qu Wenruo1-13/+6
2025-04-17btrfs: avoid page_lockend underflow in btrfs_punch_hole_lock_range()Qu Wenruo1-2/+7
2025-03-18btrfs: prepare btrfs_page_mkwrite() for large foliosQu Wenruo1-9/+10
2025-03-18btrfs: allow buffered write to avoid full page read if it's block alignedQu Wenruo1-2/+3
2025-03-18btrfs: pass struct btrfs_inode to can_nocow_extent()David Sterba1-2/+1
2025-03-18btrfs: expose per-inode stable writes flagQu Wenruo1-1/+0
2025-02-21btrfs: fix data overwriting bug during buffered write when block size < page ...Qu Wenruo1-1/+8
2025-02-11btrfs: fix hole expansion when writing at an offset beyond EOFFilipe Manana1-3/+1
2025-01-13btrfs: file: remove unnecessary calls to btrfs_mark_buffer_dirty()Filipe Manana1-11/+0
2025-01-13btrfs: remove no longer needed strict argument from can_nocow_extent()Filipe Manana1-1/+1
2025-01-13btrfs: open-code btrfs_copy_from_user()Qu Wenruo1-48/+18
2025-01-13btrfs: fix data race when accessing the inode's disk_i_size at btrfs_drop_ext...Hao-ran Zheng1-1/+1
2025-01-13btrfs: don't BUG_ON() in btrfs_drop_extents()Johannes Thumshirn1-4/+21
2024-12-10Merge tag 'for-6.13-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-0/+1
2024-12-06btrfs: properly wait for writeback before buffered writeQu Wenruo1-0/+1
2024-11-18Merge tag 'for-6.13-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kda...Linus Torvalds1-220/+129
2024-11-11btrfs: add io_uring command for encoded reads (ENCODED_READ ioctl)Mark Harmstone1-0/+1
2024-11-11btrfs: convert btrfs_buffered_write() to use foliosQu Wenruo1-76/+62
2024-11-11btrfs: make buffered write to copy one page a timeQu Wenruo1-156/+81
2024-11-11btrfs: drop unused parameter iov_iter from btrfs_write_check()David Sterba1-3/+3
2024-11-11btrfs: simplify the page uptodate preparation for prepare_pages()Qu Wenruo1-31/+33
2024-11-11btrfs: remove the dirty_page local variableQu Wenruo1-12/+7
2024-10-10Merge patch series "timekeeping/fs: multigrain timestamp redux"Christian Brauner1-21/+4
2024-10-10btrfs: convert to multigrain timestampsJeff Layton1-21/+4
2024-09-17btrfs: fix race setting file private on concurrent lseek using same fdFilipe Manana1-3/+31
2024-09-10btrfs: add and use helper to verify the calling task has locked the inodeFilipe Manana1-1/+1
2024-09-10btrfs: utilize folio more in btrfs_page_mkwrite()Josef Bacik1-12/+12
2024-09-03btrfs: fix race between direct IO write and fsync when using same fdFilipe Manana1-2/+7
2024-08-02btrfs: fix double inode unlock for direct IO sync writesFilipe Manana1-1/+4
2024-07-29btrfs: fix corruption after buffer fault in during direct IO append writeFilipe Manana1-3/+14
2024-07-11btrfs: move the direct IO code into its own fileFilipe Manana1-284/+3
2024-07-11btrfs: cleanup duplicated parameters related to can_nocow_file_extent_argsQu Wenruo1-1/+1
2024-07-11btrfs: remove extent_map::block_start memberQu Wenruo1-6/+5
2024-07-11btrfs: remove extent_map::block_len memberQu Wenruo1-1/+0
2024-07-11btrfs: remove extent_map::orig_start memberQu Wenruo1-2/+1
2024-07-11btrfs: introduce new members for extent_mapQu Wenruo1-0/+1
2024-07-11btrfs: export the expected file extent through can_nocow_extent()Qu Wenruo1-1/+1
2024-07-11btrfs: rename extent_map::orig_block_len to disk_num_bytesQu Wenruo1-1/+1
2024-07-11btrfs: use a btrfs_inode local variable at btrfs_sync_file()Filipe Manana1-24/+20
2024-07-11btrfs: pass a btrfs_inode to btrfs_wait_ordered_range()Filipe Manana1-5/+5
2024-07-11btrfs: pass a btrfs_inode to btrfs_fdatawrite_range()Filipe Manana1-9/+9
2024-07-11btrfs: use a btrfs_inode in the log context (struct btrfs_log_ctx)Filipe Manana1-2/+2
2024-06-05Merge tag 'for-6.10-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-0/+16
2024-05-28btrfs: ensure fast fsync waits for ordered extents after a write failureFilipe Manana1-0/+16
2024-05-14Merge tag 'for-6.10-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kda...Linus Torvalds1-75/+252
2024-05-07btrfs: change root->root_key.objectid to btrfs_root_id()Josef Bacik1-11/+11
2024-05-07btrfs: rename ->len to ->num_bytes in btrfs_refJosef Bacik1-5/+5
2024-05-07btrfs: move ref_root into btrfs_refJosef Bacik1-16/+14
2024-05-07btrfs: do not use a function to initialize btrfs_refJosef Bacik1-18/+31
2024-05-07btrfs: move btrfs_page_mkwrite() from inode.c into file.cFilipe Manana1-0/+166
2024-05-07btrfs: rename err to ret in btrfs_direct_write()Anand Jain1-24/+24
2024-05-07btrfs: rename err to ret in prepare_pages()Anand Jain1-12/+12
2024-05-07btrfs: rename err to ret in btrfs_dirty_pages()Anand Jain1-4/+4
2024-04-07fs: claw back a few FMODE_* bitsChristian Brauner1-2/+2
2024-03-04btrfs: add helper to get fs_info from struct inode pointerDavid Sterba1-7/+7
2024-03-04btrfs: preallocate temporary extent buffer for inode logging when neededFilipe Manana1-0/+12
2024-03-04btrfs: remove unused included headersDavid Sterba1-2/+0
2024-03-04btrfs: replace i_blocksize by fs_info::sectorsizeDavid Sterba1-2/+2
2024-03-04btrfs: remove the pg_offset parameter from btrfs_get_extent()Qu Wenruo1-6/+5
2023-12-15btrfs: migrate subpage code to folio interfacesQu Wenruo1-5/+8
2023-12-15btrfs: use the flags of an extent map to identify the compression typeFilipe Manana1-6/+4
2023-12-15btrfs: migrate to use folio private instead of page privateQu Wenruo1-2/+2
2023-12-14Merge tag 'for-6.7-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-1/+1
2023-12-06btrfs: fix qgroup_free_reserved_data int overflowBoris Burkov1-1/+1
2023-10-30Merge tag 'for-6.7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdav...Linus Torvalds1-29/+32
2023-10-18btrfs: convert to new timestamp accessorsJeff Layton1-8/+10
2023-10-12btrfs: remove pointless barrier from btrfs_sync_file()Filipe Manana1-1/+0
2023-10-12btrfs: add and use helpers for reading and writing last_trans_committedFilipe Manana1-1/+1
2023-10-12btrfs: add and use helpers for reading and writing fs_info->generationFilipe Manana1-1/+1
2023-10-12btrfs: remove redundant root argument from btrfs_update_inode()Filipe Manana1-4/+4
2023-10-12btrfs: track owning root in btrfs_refBoris Burkov1-5/+8
2023-10-12btrfs: abort transaction on generation mismatch when marking eb as dirtyFilipe Manana1-17/+17
2023-10-12btrfs: include linux/iomap.h in file.cJosef Bacik1-0/+1
2023-09-21Merge tag 'v6.6-rc3.vfs.ctime.revert' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-4/+20
2023-09-20Merge tag 'for-6.6-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-2/+14
2023-09-20Revert "btrfs: convert to multigrain timestamps"Christian Brauner1-4/+20
2023-09-13btrfs: file_remove_privs needs an exclusive lock in direct io writeBernd Schubert1-2/+14
2023-08-28Merge tag 'for-6.6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdav...Linus Torvalds1-2/+1
2023-08-28Merge tag 'iomap-6.6-merge-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linuxLinus Torvalds1-3/+3
2023-08-21btrfs: use LIST_HEAD() to initialize the list_headRuan Jinjie1-2/+1
2023-08-11btrfs: convert to multigrain timestampsJeff Layton1-20/+4
2023-07-24filemap: Add fgf_t typedefMatthew Wilcox (Oracle)1-3/+3
2023-07-13btrfs: convert to ctime accessor functionsJeff Layton1-12/+9
2023-06-28Merge tag 'mm-stable-2023-06-24-19-15' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-5/+1
2023-06-26Merge tag 'for-6.5/splice-2023-06-23' of git://git.kernel.dk/linuxLinus Torvalds1-1/+1
2023-06-19btrfs: set FMODE_CAN_ODIRECT instead of a dummy direct_IO methodChristoph Hellwig1-1/+2
2023-06-19btrfs: determine synchronous writers from bio or writeback controlChristoph Hellwig1-9/+0
2023-06-09backing_dev: remove current->backing_dev_infoChristoph Hellwig1-5/+1
2023-05-24splice: Use filemap_splice_read() instead of generic_file_splice_read()David Howells1-1/+1
2023-03-30iov_iter: add iter_iovec() helperJens Axboe1-3/+8
2023-02-13btrfs: remove the wait argument to btrfs_start_ordered_extentChristoph Hellwig1-1/+1
2023-01-16btrfs: fix invalid leaf access due to inline extent during lseekFilipe Manana1-3/+10
2023-01-03btrfs: fix off-by-one in delalloc search during lseekFilipe Manana1-1/+1
2022-12-05btrfs: do not BUG_ON() on ENOMEM when dropping extent items for a rangeFilipe Manana1-2/+8
2022-12-05btrfs: use cached state when looking for delalloc ranges with lseekFilipe Manana1-8/+32
2022-12-05btrfs: use cached state when looking for delalloc ranges with fiemapFilipe Manana1-3/+7
2022-12-05btrfs: allow passing a cached state record to count_range_bits()Filipe Manana1-1/+2
2022-12-05btrfs: search for delalloc more efficiently during lseek/fiemapFilipe Manana1-104/+48
2022-12-05btrfs: skip unnecessary delalloc searches during lseek/fiemapFilipe Manana1-1/+7
2022-12-05btrfs: add an early exit when searching for delalloc range for lseek/fiemapFilipe Manana1-6/+16
2022-12-05btrfs: pass btrfs_inode to btrfs_inode_unlockDavid Sterba1-16/+16
2022-12-05btrfs: pass btrfs_inode to btrfs_inode_lockDavid Sterba1-8/+8
2022-12-05btrfs: update stale comment for nowait direct IO writesFilipe Manana1-2/+2
2022-12-05btrfs: move super_block specific helpers into super.hJosef Bacik1-0/+1
2022-12-05btrfs: move file prototypes to file.hJosef Bacik1-0/+1
2022-12-05btrfs: move ioctl prototypes into ioctl.hJosef Bacik1-0/+1
2022-12-05btrfs: move file-item prototypes into their own headerJosef Bacik1-0/+1
2022-12-05btrfs: move the auto defrag code to defrag.cJosef Bacik1-340/+0
2022-12-05btrfs: move extent-tree helpers into their own header fileJosef Bacik1-0/+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: skip unnecessary delalloc search during fiemap and lseekFilipe Manana1-13/+20
2022-12-05btrfs: skip unnecessary extent map searches during fiemap and lseekFilipe Manana1-0/+12
2022-12-05btrfs: get the next extent map during fiemap/lseek more efficientlyFilipe Manana1-17/+27
2022-12-05btrfs: use cached_state for btrfs_check_nocow_lockJosef Bacik1-3/+6
2022-12-05btrfs: add a cached_state to try_lock_extentJosef Bacik1-1/+2
2022-11-02btrfs: fix inode reserve space leak due to nowait buffered writeFilipe Manana1-1/+3
2022-11-02btrfs: fix nowait buffered write returning -ENOSPCFilipe Manana1-0/+3
2022-10-31btrfs: fix lost file sync on direct IO write with nowait and dsync iocbFilipe Manana1-6/+16
2022-09-29btrfs: add helper to replace extent map range with a new extent mapFilipe Manana1-7/+1
2022-09-29btrfs: move btrfs_drop_extent_cache() to extent_map.cFilipe Manana1-187/+3
2022-09-29btrfs: fix missed extent on fsync after dropping extent mapsFilipe Manana1-12/+46
2022-09-29btrfs: enable nowait async buffered writesStefan Roesch1-2/+2
2022-09-29btrfs: make btrfs_buffered_write nowait compatibleStefan Roesch1-2/+5
2022-09-29btrfs: plumb NOWAIT through the write pathStefan Roesch1-6/+13
2022-09-29btrfs: make lock_and_cleanup_extent_if_need nowait compatibleStefan Roesch1-3/+16
2022-09-29btrfs: make prepare_pages nowait compatibleStefan Roesch1-8/+35
2022-09-29btrfs: make btrfs_check_nocow_lock nowait compatibleJosef Bacik1-11/+22
2022-09-29btrfs: add the ability to use NO_FLUSH for data reservationsJosef Bacik1-1/+1
2022-09-29btrfs: make can_nocow_extent nowait compatibleJosef Bacik1-1/+1
2022-09-26btrfs: open code and remove btrfs_inode_sectorsize helperJosef Bacik1-6/+5
2022-09-26btrfs: replace delete argument with EXTENT_CLEAR_ALL_BITSJosef Bacik1-1/+1
2022-09-26btrfs: unify the lock/unlock extent variantsJosef Bacik1-24/+22
2022-09-26btrfs: remove the wake argument from clear_extent_bitsJosef Bacik1-1/+1
2022-09-26btrfs: make fiemap more efficient and accurate reporting extent sharednessFilipe Manana1-8/+8
2022-09-26btrfs: make hole and data seeking a lot more efficientFilipe Manana1-31/+406
2022-09-26btrfs: allow hole and data seeking to be interruptibleFilipe Manana1-0/+4
2022-09-26btrfs: log conflicting inodes without holding log mutex of the initial inodeFilipe Manana1-0/+1
2022-09-26btrfs: rename btrfs_insert_file_extent() to btrfs_insert_hole_extent()Omar Sandoval1-2/+2
2022-09-26btrfs: fix alignment of VMA for memory mapped files on THPAlexander Zhu1-0/+1
2022-08-28Merge tag 'for-6.0-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-0/+2
2022-08-22btrfs: update generation of hole file extent item when merging holesFilipe Manana1-0/+2
2022-08-03Merge tag 'for-5.20-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kda...Linus Torvalds1-6/+23
2022-08-03Merge tag 'pull-work.iov_iter-base' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-18/+1
2022-07-25btrfs: don't fallback to buffered IO for NOWAIT direct IO writesFilipe Manana1-1/+15
2022-07-25btrfs: switch btrfs_block_rsv::failfast to boolDavid Sterba1-1/+1
2022-07-25btrfs: clean up chained assignmentsDavid Sterba1-3/+6
2022-07-25btrfs: tree-log: make the return value for log syncing consistentJosef Bacik1-1/+1
2022-06-26Merge tag 'for-5.19-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-17/+75
2022-06-21btrfs: fix deadlock with fsync+fiemap+transaction commitJosef Bacik1-15/+52
2022-06-21btrfs: do not BUG_ON() on failure to migrate space when replacing extentsFilipe Manana1-2/+4
2022-06-21btrfs: add missing inode updates on each iteration when replacing extentsFilipe Manana1-0/+19
2022-06-10iocb: delay evaluation of IS_SYNC(...) until we want to check IOCB_DSYNCAl Viro1-1/+1
2022-06-10btrfs: use IOMAP_DIO_NOSYNCAl Viro1-17/+0
2022-05-24Merge tag 'folio-5.19' of git://git.infradead.org/users/willy/pagecacheLinus Torvalds1-4/+5
2022-05-16btrfs: add a btrfs_dio_rw wrapperChristoph Hellwig1-4/+2
2022-05-16btrfs: avoid blocking on space revervation when doing nowait dio writesFilipe Manana1-1/+1
2022-05-16btrfs: avoid double nocow check when doing nowait dio writesFilipe Manana1-69/+33
2022-05-16btrfs: add and use helper to assert an inode range is cleanFilipe Manana1-0/+4