aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_reflink.c
AgeCommit message (Expand)AuthorFilesLines
2025-07-14iomap: replace iomap_folio_ops with iomap_write_opsChristoph Hellwig1-1/+2
2025-05-07xfs: add xfs_calc_atomic_write_unit_max()John Garry1-0/+16
2025-05-07xfs: commit CoW-based atomic writes atomicallyJohn Garry1-0/+56
2025-05-07xfs: add xfs_atomic_write_cow_iomap_begin()John Garry1-1/+1
2025-05-07xfs: refactor xfs_reflink_end_cow_extent()John Garry1-30/+42
2025-03-03xfs: implement buffered writes to zoned RT devicesChristoph Hellwig1-1/+1
2025-03-03xfs: support XFS_BMAPI_REMAP in xfs_bmap_del_extent_delayChristoph Hellwig1-1/+1
2025-03-03xfs: skip always_cow inodes in xfs_reflink_trim_around_sharedChristoph Hellwig1-1/+1
2025-03-03xfs: make metabtree reservations globalChristoph Hellwig1-9/+3
2024-12-23xfs: enable realtime reflinkDarrick J. Wong1-0/+25
2024-12-23xfs: recover CoW leftovers in the realtime volumeDarrick J. Wong1-3/+12
2024-12-23xfs: enable sharing of realtime file blocksDarrick J. Wong1-5/+20
2024-12-23xfs: enable CoW for realtime dataDarrick J. Wong1-8/+28
2024-12-23xfs: refactor reflink quota updatesDarrick J. Wong1-5/+32
2024-12-23xfs: wire up realtime refcount btree cursorsDarrick J. Wong1-4/+62
2024-12-23xfs: refactor xfs_reflink_find_sharedChristoph Hellwig1-61/+49
2024-12-23xfs: add a realtime flag to the refcount update log redo itemsDarrick J. Wong1-7/+12
2024-11-05xfs: switch perag iteration from the for_each macros to a while based iteratorChristoph Hellwig1-3/+2
2024-11-05xfs: factor out a generic xfs_group structureChristoph Hellwig1-1/+1
2024-10-09xfs: don't free cowblocks from under dirty pagecache on unshareBrian Foster1-0/+3
2024-07-02xfs: convert "skip_discard" to a proper flags bitsetDarrick J. Wong1-1/+1
2024-05-27xfs: Add cond_resched to block unmap range and reflink remap pathRitesh Harjani (IBM)1-0/+1
2024-05-03xfs: simplify iext overflow checking and upgradeChristoph Hellwig1-7/+2
2024-05-03xfs: remove a racy if_bytes check in xfs_reflink_end_cow_extentChristoph Hellwig1-6/+0
2024-05-03xfs: upgrade the extent counters in xfs_reflink_end_cow_extent laterChristoph Hellwig1-8/+8
2024-05-03xfs: xfs_quota_unreserve_blkres can't failChristoph Hellwig1-8/+3
2024-04-30xfs: fix error returns from xfs_bmapi_writeChristoph Hellwig1-14/+0
2024-02-22xfs: support deferred bmap updates on the attr forkDarrick J. Wong1-4/+4
2024-02-22xfs: report block map corruption errors to the health tracking systemDarrick J. Wong1-1/+5
2024-02-19xfs: Replace xfs_isilocked with xfs_assert_ilockedMatthew Wilcox (Oracle)1-1/+1
2023-12-06xfs: remove __xfs_free_extent_laterDarrick J. Wong1-1/+1
2023-11-13xfs: only remap the written blocks in xfs_reflink_end_cow_extentChristoph Hellwig1-0/+1
2023-10-23xfs: allow read IO and FICLONE to run concurrentlyCatherine Hoang1-0/+4
2023-06-29xfs: use deferred frees for btree block freeingDave Chinner1-1/+2
2023-06-05xfs: validate block number being freed before adding to xefiDave Chinner1-1/+3
2023-02-13xfs: active perag reference countingDave Chinner1-1/+1
2023-02-11xfs: t_firstblock is tracking AGs not blocksDave Chinner1-1/+1
2022-12-26xfs: don't assert if cmap covers imap after cycling lockDarrick J. Wong1-2/+0
2022-12-11fsdax,xfs: port unshare to fsdaxShiyang Ruan1-2/+6
2022-09-19xfs: simplify if-else condition in xfs_reflink_trim_around_sharedZeng Heng1-10/+12
2022-08-13Merge tag 'xfs-5.20-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linuxLinus Torvalds1-35/+163
2022-08-05xfs: Fix false ENOSPC when performing direct write on a delalloc extent in co...Chandan Babu R1-35/+163
2022-08-05Merge tag 'mm-stable-2022-08-03' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-4/+8
2022-07-17xfs: add dax dedupe supportShiyang Ruan1-2/+2
2022-07-17fsdax: dedup file range to use a compare functionShiyang Ruan1-2/+6
2022-07-09xfs: convert XFS_IFORK_PTR to a static inline helperDarrick J. Wong1-3/+3
2022-07-07xfs: pass perag to xfs_alloc_read_agf()Dave Chinner1-18/+22
2022-04-28xfs: rewrite xfs_reflink_end_cow to use intentsDarrick J. Wong1-32/+56
2022-04-28xfs: remove a __xfs_bunmapi call from reflinkDarrick J. Wong1-3/+4
2022-04-13xfs: Conditionally upgrade existing inodes to use large extent countersChandan Babu R1-0/+5
2022-03-09xfs: add missing cmap->br_state = XFS_EXT_NORM updateGao Xiang1-1/+4
2022-01-12Merge tag 'libnvdimm-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-2/+1
2021-12-21xfs: only run COW extent recovery when there are no live extentsDarrick J. Wong1-1/+4
2021-12-04xfs: add xfs_zero_range and xfs_truncate_page helpersShiyang Ruan1-2/+1
2021-10-22xfs: rename xfs_bmap_add_free to xfs_free_extent_laterDarrick J. Wong1-1/+1
2021-08-19xfs: replace xfs_sb_version checks with feature flag checksDave Chinner1-2/+2
2021-06-02xfs: convert refcount btree cursor to use peragsDave Chinner1-2/+2
2021-06-02xfs: add a perag to the btree cursorDave Chinner1-1/+1
2021-06-02xfs: convert raw ag walks to use for_each_peragDave Chinner1-3/+6
2021-06-02xfs: move xfs_perag_get/put to xfs_ag.[ch]Dave Chinner1-1/+1
2021-04-29xfs: fix xfs_reflink_unshare usage of filemap_write_and_wait_rangeDarrick J. Wong1-1/+2
2021-04-15xfs: move the XFS_IFEXTENTS check into xfs_iread_extentsChristoph Hellwig1-5/+3
2021-04-07xfs: move the di_flags2 field to struct xfs_inodeChristoph Hellwig1-4/+4
2021-04-07xfs: move the di_cowextsize field to struct xfs_inodeChristoph Hellwig1-1/+1
2021-04-07xfs: move the di_size field to struct xfs_inodeChristoph Hellwig1-2/+2
2021-02-03xfs: flush eof/cowblocks if we can't reserve quota for file blocksDarrick J. Wong1-0/+5
2021-02-03xfs: try worst case space reservation upfront in xfs_reflink_remap_extentDarrick J. Wong1-3/+20
2021-02-03xfs: refactor reflink functions to use xfs_trans_alloc_inodeDarrick J. Wong1-32/+21
2021-02-03xfs: reserve data and rt quota at the same timeDarrick J. Wong1-4/+2
2021-02-03xfs: remove xfs_trans_unreserve_quota_nblks completelyDarrick J. Wong1-4/+1
2021-02-03xfs: create convenience wrappers for incore quota block reservationsDarrick J. Wong1-3/+2
2021-02-03xfs: clean up quota reservation callsitesDarrick J. Wong1-2/+2
2021-01-22xfs: Check for extent overflow when remapping an extentChandan Babu R1-0/+11
2021-01-22xfs: Check for extent overflow when moving extent from cow to data forkChandan Babu R1-0/+5
2020-11-04xfs: only flush the unshared range in xfs_reflink_unshareDarrick J. Wong1-1/+2
2020-08-05xfs: delete duplicated words + other fixesRandy Dunlap1-1/+1
2020-07-06xfs: move helpers that lock and unlock two inodes against userspace IODarrick J. Wong1-95/+2
2020-07-06xfs: refactor locking and unlocking two inodes against userspace IODarrick J. Wong1-20/+32
2020-07-06xfs: fix xfs_reflink_remap_prep calling conventionsDarrick J. Wong1-3/+3
2020-07-06xfs: reflink can skip remap existing mappingsDarrick J. Wong1-0/+16
2020-07-06xfs: only reserve quota blocks if we're mapping into a holeDarrick J. Wong1-2/+4
2020-07-06xfs: only reserve quota blocks for bmbt changes if we're changing the data forkDarrick J. Wong1-7/+14
2020-07-06xfs: redesign the reflink remap loop to fix blkres depletion crashDarrick J. Wong1-109/+129
2020-07-06xfs: rename xfs_bmap_is_real_extent to is_written_extentDarrick J. Wong1-3/+3
2020-07-06xfs: fix reflink quota reservation accounting errorDarrick J. Wong1-7/+14
2020-04-13xfs: fix partially uninitialized structure in xfs_reflink_remap_extentDarrick J. Wong1-0/+1
2020-01-26xfs: remove unnecessary null pointer checks from _read_agf callersDarrick J. Wong1-2/+0
2020-01-20xfs: change return value of xfs_inode_need_cow to intzhengbin1-3/+3
2020-01-14xfs: introduce XFS_MAX_FILEOFFDarrick J. Wong1-1/+2
2019-10-23xfs: don't set bmapi total block req where minleft isBrian Foster1-2/+2
2019-10-21xfs: split the iomap ops for buffered vs direct writesChristoph Hellwig1-2/+3
2019-10-21xfs: pass two imaps to xfs_reflink_allocate_cowChristoph Hellwig1-15/+15
2019-10-21xfs: remove xfs_reflink_dirty_extentsChristoph Hellwig1-98/+5
2019-10-21iomap: ignore non-shared or non-data blocks in xfs_file_dirtyChristoph Hellwig1-1/+1
2019-08-28xfs: remove unnecessary int returns from deferred bmap functionsDarrick J. Wong1-6/+2
2019-08-28xfs: remove unnecessary int returns from deferred refcount functionsDarrick J. Wong1-11/+4
2019-08-18xfs: fix reflink source file racing with directio writesDarrick J. Wong1-26/+37
2019-06-30xfs: remove XFS_TRANS_NOFSChristoph Hellwig1-2/+2
2019-06-28xfs: remove unused header filesEric Sandeen1-11/+0
2019-02-25xfs: fix uninitialized error variablesDarrick J. Wong1-1/+1
2019-02-25xfs: don't pass iomap flags to xfs_reflink_allocate_cowDarrick J. Wong1-2/+2
2019-02-21xfs: introduce an always_cow modeChristoph Hellwig1-4/+24
2019-02-21xfs: make COW fork unwritten extent conversions more robustChristoph Hellwig1-23/+38
2019-02-21xfs: merge COW handling into xfs_file_iomap_begin_delayChristoph Hellwig1-67/+0
2019-02-21xfs: don't use delalloc extents for COW on files with extsize hintsChristoph Hellwig1-1/+9
2019-02-17xfs: remove the io_type field from the writeback context and ioendChristoph Hellwig1-1/+1
2018-12-12xfs: split up the xfs_reflink_end_cow work into smaller transactionsDarrick J. Wong1-94/+138
2018-11-21xfs: flush removing page cache in xfs_reflink_remap_prepDave Chinner1-4/+13
2018-11-19xfs: fix shared extent data corruption due to missing cow reservationBrian Foster1-0/+1
2018-11-02Merge tag 'xfs-4.20-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linuxLinus Torvalds1-137/+36
2018-10-30xfs: remove [cm]time update from reflink callsDarrick J. Wong1-6/+1
2018-10-30xfs: remove xfs_reflink_remap_rangeDarrick J. Wong1-66/+4
2018-10-30xfs: remove redundant remap partial EOF block checksDarrick J. Wong1-19/+0
2018-10-30xfs: support returning partial reflink resultsDarrick J. Wong1-5/+12
2018-10-30xfs: clean up xfs_reflink_remap_blocks call siteDarrick J. Wong1-19/+18
2018-10-30xfs: fix pagecache truncation prior to reflinkDarrick J. Wong1-2/+3
2018-10-30vfs: clean up generic_remap_file_range_prep return valueDarrick J. Wong1-2/+2
2018-10-30vfs: make remap_file_range functions take and return bytes completedDarrick J. Wong1-2/+2
2018-10-30vfs: remap helper should update destination inode metadataDarrick J. Wong1-23/+0
2018-10-30vfs: pass remap flags to generic_remap_file_range_prepDarrick J. Wong1-10/+11
2018-10-30vfs: rename vfs_clone_file_prep to be more descriptiveDarrick J. Wong1-1/+1
2018-10-30vfs: check file ranges before cloning filesDarrick J. Wong1-1/+1
2018-10-18xfs: fix fork selection in xfs_find_trim_cow_extentChristoph Hellwig1-2/+6
2018-10-18xfs: remove the unused trimmed argument from xfs_reflink_trim_around_sharedChristoph Hellwig1-10/+5
2018-10-18xfs: remove the unused shared argument to xfs_reflink_reserve_cowChristoph Hellwig1-7/+5
2018-10-06xfs: fix data corruption w/ unaligned reflink rangesDave Chinner1-13/+34
2018-10-06xfs: fix data corruption w/ unaligned dedupe rangesDave Chinner1-0/+21
2018-10-05xfs: update ctime and remove suid before cloning filesDarrick J. Wong1-0/+25
2018-10-05xfs: zero posteof blocks when cloning above eofDarrick J. Wong1-8/+25
2018-10-05xfs: refactor clonerange preparation into a separate helperDarrick J. Wong1-27/+73
2018-09-29xfs: skip delalloc COW blocks in xfs_reflink_end_cowChristoph Hellwig1-6/+4
2018-09-29xfs: fix transaction leak in xfs_reflink_allocate_cow()Dave Chinner1-50/+77
2018-08-02xfs: fold dfops into the transactionBrian Foster1-3/+2
2018-08-02xfs: pass transaction to xfs_defer_add()Brian Foster1-12/+9
2018-08-02xfs: cancel dfops on xfs_defer_finish() errorBrian Foster1-3/+1
2018-08-02xfs: automatic dfops inode reloggingBrian Foster1-4/+0
2018-08-02xfs: add missing defer ijoins for held inodesBrian Foster1-0/+1
2018-07-30xfs: introduce a new xfs_inode_has_cow_data helperChristoph Hellwig1-1/+1
2018-07-26xfs: drop unnecessary xfs_defer_finish() dfops parameterBrian Foster1-4/+4
2018-07-26xfs: remove all boilerplate defer init/finish codeBrian Foster1-25/+12
2018-07-26xfs: use internal dfops in cow blocks cancelBrian Foster1-4/+2
2018-07-23xfs: trivial xfs_btree_del_cursor cleanupsDarrick J. Wong1-1/+1
2018-07-11xfs: remove xfs_defer_init() firstblock paramBrian Foster1-4/+4
2018-07-11xfs: use ->t_firstblock in reflink cow block cancelBrian Foster1-2/+1
2018-07-11xfs: remove xfs_bunmapi() firstblock paramBrian Foster1-4/+2
2018-07-11xfs: remove xfs_bmapi_write() firstblock paramBrian Foster1-3/+3
2018-07-11xfs: use ->t_firstblock for all xfs_bunmapi() callersBrian Foster1-6/+5
2018-07-11xfs: use ->t_firstblock for all xfs_bmapi_write() callersBrian Foster1-4/+3
2018-07-11xfs: allow null firstblock in xfs_bmapi_write() when tp is nullBrian Foster1-6/+3
2018-07-11xfs: refactor dfops init to attach to transactionBrian Foster1-8/+4
2018-07-11xfs: use ->t_dfops in cancel cow blocks operationBrian Foster1-6/+8
2018-07-11xfs: remove unused btree cursor bc_private.a.dfops fieldBrian Foster1-1/+1
2018-07-11xfs: remove xfs_bunmapi() dfops paramBrian Foster1-3/+2
2018-07-11xfs: use ->t_dfops for all xfs_bunmapi() callersBrian Foster1-12/+15
2018-07-11xfs: remove xfs_bmapi_write() dfops paramBrian Foster1-4/+4
2018-07-11xfs: use ->t_dfops for all xfs_bmapi_write() callersBrian Foster1-3/+4
2018-07-11xfs: cow unwritten conversion uses uninitialized dfopsBrian Foster1-7/+4
2018-07-11xfs: remove xfs_reflink_find_cow_mappingChristoph Hellwig1-30/+0
2018-07-11xfs: remove xfs_reflink_trim_irec_to_next_cowChristoph Hellwig1-33/+0
2018-06-06xfs: convert to SPDX license tagsDave Chinner1-15/+1
2018-05-10xfs: split out dqget for inodes from regular dqgetDarrick J. Wong1-2/+2
2018-05-10xfs: remove unnecessary xfs_qm_dqattach parameterDarrick J. Wong1-1/+1
2018-05-10xfs: fix double ijoin in xfs_reflink_clear_inode_flag()Dave Chinner1-2/+6
2018-05-10xfs: fix double ijoin in xfs_reflink_cancel_cow_rangeDave Chinner1-2/+4
2018-03-15xfs: minor cleanup for xfs_reflink_end_cowChristoph Hellwig1-9/+8
2018-03-15xfs: assert that xfs_reflink_allocate_cow is called with XFS_ILOCK_EXCLChristoph Hellwig1-1/+1
2018-03-11xfs: rename agfl perag res type to rmapbtBrian Foster1-1/+1
2018-03-11xfs: fix transaction allocation deadlock in IO pathDave Chinner1-2/+2
2018-01-29xfs: check reflink allocation mappingsDarrick J. Wong1-0/+7
2018-01-29xfs: treat CoW fork operations as delalloc for quota accountingDarrick J. Wong1-4/+11
2018-01-29xfs: only grab shared inode locks for source file during reflinkDarrick J. Wong1-10/+15
2018-01-29xfs: allow xfs_lock_two_inodes to take different EXCL/SHARED modesDarrick J. Wong1-2/+3
2018-01-29xfs: reflink should break pnfs leases before sharing blocksDarrick J. Wong1-1/+47
2018-01-29xfs: call xfs_qm_dqattach before performing reflink operationsDarrick J. Wong1-0/+5
2017-12-21xfs: set cowblocks tag for direct cow writes tooDarrick J. Wong1-0/+2
2017-12-14xfs: allow CoW remap transactions to use reserve blocksDarrick J. Wong1-1/+1
2017-12-14xfs: avoid infinite loop when cancelling CoW blocks after writeback failureDarrick J. Wong1-0/+3
2017-12-14xfs: relax is_reflink_inode assert in xfs_reflink_find_cow_mappingDarrick J. Wong1-1/+2
2017-12-14xfs: remove dest file's post-eof preallocations before reflinkingDarrick J. Wong1-0/+11
2017-12-08fs: xfs: remove duplicate includesPravin Shedge1-2/+0
2017-11-06xfs: simplify xfs_reflink_convert_cowChristoph Hellwig1-18/+11
2017-11-06xfs: iterate backwards in xfs_reflink_cancel_cow_blocksChristoph Hellwig1-4/+12
2017-11-06xfs: introduce the xfs_iext_cursor abstractionChristoph Hellwig1-28/+28
2017-10-26xfs: add a new xfs_iext_lookup_extent_before helperChristoph Hellwig1-12/+7
2017-10-03 xfs: handle racy AIO in xfs_reflink_end_cowChristoph Hellwig1-1/+8
2017-09-01xfs: remove the ip argument to xfs_defer_finishChristoph Hellwig1-4/+7
2017-07-20xfs: check _alloc_read_agf buffer pointer before usingDarrick J. Wong1-0/+2
2017-07-20xfs: set firstfsb to NULLFSBLOCK before feeding it to _bmapi_writeDarrick J. Wong1-1/+1
2017-06-19xfs: separate function to check if inode shares extentsDarrick J. Wong1-36/+52
2017-06-19xfs: reflink find shared should take a transactionDarrick J. Wong1-7/+8
2017-05-03xfs: reserve enough blocks to handle btree splits when remappingDarrick J. Wong1-2/+16
2017-04-03xfs: factor out a xfs_bmap_is_real_extent helperChristoph Hellwig1-17/+4
2017-03-07xfs: only reclaim unwritten COW extents periodicallyChristoph Hellwig1-7/+16
2017-02-16xfs: fix uninitialized variable in _reflink_convert_cowDarrick J. Wong1-1/+1
2017-02-09xfs: update ctime and mtime on clone destinatation inodesChristoph Hellwig1-3/+9
2017-02-06xfs: allocate direct I/O COW blocks in iomap_beginChristoph Hellwig1-92/+54
2017-02-06xfs: go straight to real allocations for direct I/O COW writesChristoph Hellwig1-28/+66
2017-02-06xfs: return the converted extent in __xfs_reflink_convert_cowChristoph Hellwig1-6/+5
2017-02-02xfs: mark speculative prealloc CoW fork extents unwrittenDarrick J. Wong1-8/+108
2016-12-22vfs: fix isize/pos/len checks for reflink & dedupeDarrick J. Wong1-1/+1