aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/send.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-65/+48
8 daysMerge tag 'kbuild-6.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kb...Linus Torvalds1-19/+20
2025-11-25btrfs: send: do not allocate memory for xattr data when checking it existsFilipe Manana1-4/+8
2025-11-25btrfs: send: add unlikely to all unexpected overflow checksFilipe Manana1-9/+9
2025-11-24btrfs: use bool type for btrfs_path members used as booleansFilipe Manana1-7/+7
2025-11-24btrfs: enable encoded read/write/send for bs > ps casesQu Wenruo1-8/+1
2025-11-24btrfs: apply the AUTO_K(V)FREE macros throughout the codeMiquel Sabaté Solà1-31/+19
2025-11-24btrfs: use the key format macros when printing keysFilipe Manana1-6/+4
2025-11-08btrfs: send: make use of -fms-extensions for defining struct fs_pathRasmus Villemoes1-19/+20
2025-10-17btrfs: send: fix duplicated rmdir operations when using extrefsTing-Chang Hou1-8/+48
2025-10-13btrfs: send: fix -Wflex-array-member-not-at-end warning in struct send_ctxGustavo A. R. Silva1-1/+3
2025-09-23btrfs: add unlikely annotations to branches leading to EIODavid Sterba1-5/+5
2025-09-23btrfs: add unlikely annotations to branches leading to EUCLEANDavid Sterba1-1/+1
2025-09-23btrfs: more trivial BTRFS_PATH_AUTO_FREE conversionsSun YangKai1-200/+114
2025-09-23btrfs: enable experimental bs > ps supportQu Wenruo1-1/+8
2025-09-23btrfs: send: index backref cache by node number instead of by sector numberFilipe Manana1-2/+2
2025-09-23btrfs: fix typos in comments and stringsDavid Sterba1-3/+3
2025-09-22btrfs: convert several int parameters to boolDavid Sterba1-15/+13
2025-07-22btrfs: send: use fallocate for hole punching with send stream v2Filipe Manana1-0/+33
2025-07-22btrfs: send: directly return strcmp() result when comparing recorded refsFilipe Manana1-7/+1
2025-07-22btrfs: replace strcpy() with strscpy()Brahmajit Das1-1/+1
2025-07-21btrfs: send: avoid extra calls to strlen() in gen_unique_name()Dmitry Antipov1-2/+2
2025-05-15btrfs: send: remove btrfs_debug() callsDavid Sterba1-50/+1
2025-05-15btrfs: use list_first_entry() everywhereDavid Sterba1-3/+2
2025-05-15btrfs: convert ASSERT(0) with handled errors to DEBUG_WARN()David Sterba1-2/+2
2025-05-15btrfs: send: prepare put_file_data() for large data foliosQu Wenruo1-14/+11
2025-05-15btrfs: send: remove the again label inside put_file_data()Qu Wenruo1-2/+1
2025-03-18btrfs: make btrfs_iget() return a btrfs inode insteadFilipe Manana1-13/+12
2025-03-18btrfs: send: simplify return logic from send_encoded_extent()Filipe Manana1-8/+5
2025-03-18btrfs: send: remove unnecessary inode lookup at send_encoded_inline_extent()Filipe Manana1-8/+1
2025-03-18btrfs: pass btrfs_root pointers to send ioctl parametersDavid Sterba1-2/+1
2025-03-18btrfs: send: simplify return logic from send_set_xattr()Filipe Manana1-2/+1
2025-03-18btrfs: send: avoid path allocation for the current inode when issuing commandsFilipe Manana1-118/+97
2025-03-18btrfs: send: keep the current inode's path cachedFilipe Manana1-5/+48
2025-03-18btrfs: send: simplify return logic from send_rmdir()Filipe Manana1-2/+1
2025-03-18btrfs: send: simplify return logic from send_unlink()Filipe Manana1-2/+1
2025-03-18btrfs: send: simplify return logic from send_link()Filipe Manana1-2/+1
2025-03-18btrfs: send: simplify return logic from send_rename()Filipe Manana1-2/+1
2025-03-18btrfs: send: simplify return logic from send_verity()Filipe Manana1-2/+1
2025-03-18btrfs: send: simplify return logic from process_changed_xattr()Filipe Manana1-6/+4
2025-03-18btrfs: send: remove unnecessary return variable from process_new_xattr()Filipe Manana1-6/+2
2025-03-18btrfs: send: simplify return logic from record_changed_ref()Filipe Manana1-6/+4
2025-03-18btrfs: send: simplify return logic from record_deleted_ref()Filipe Manana1-4/+2
2025-03-18btrfs: send: simplify return logic from record_new_ref()Filipe Manana1-4/+2
2025-03-18btrfs: send: simplify return logic from record_deleted_ref_if_needed()Filipe Manana1-3/+3
2025-03-18btrfs: send: simplify return logic from record_new_ref_if_needed()Filipe Manana1-3/+3
2025-03-18btrfs: send: simplify return logic from send_remove_xattr()Filipe Manana1-3/+2
2025-03-18btrfs: send: add and use helper to rename current inode when processing refsFilipe Manana1-8/+15
2025-03-18btrfs: send: only use boolean variables at process_recorded_refs()Filipe Manana1-6/+6
2025-03-18btrfs: send: factor out common logic when sending xattrsFilipe Manana1-26/+15
2025-03-18btrfs: send: simplify return logic from get_cur_inode_state()Filipe Manana1-3/+2
2025-03-18btrfs: send: simplify return logic from is_inode_existent()Filipe Manana1-6/+3
2025-03-18btrfs: send: simplify return logic from __get_cur_name_and_parent()Filipe Manana1-14/+10
2025-03-18btrfs: send: return -ENAMETOOLONG when attempting a path that is too longFilipe Manana1-4/+2
2025-03-18btrfs: send: simplify return logic from fs_path_add_from_extent_buffer()Filipe Manana1-3/+2
2025-03-18btrfs: send: implement fs_path_add_path() using fs_path_add()Filipe Manana1-12/+2
2025-03-18btrfs: send: simplify return logic from fs_path_add()Filipe Manana1-3/+2
2025-03-18btrfs: send: simplify return logic from fs_path_prepare_for_add()Filipe Manana1-3/+2
2025-03-18btrfs: send: always use fs_path_len() to determine a path's lengthFilipe Manana1-7/+8
2025-03-18btrfs: send: make fs_path_len() inline and constify its argumentFilipe Manana1-1/+1
2025-03-18btrfs: send: remove duplicated logic from fs_path_reset()Filipe Manana1-7/+5
2025-03-18btrfs: update include and forward declarations in headersDavid Sterba1-1/+0
2025-01-13btrfs: send: remove redundant assignments to variable retColin Ian King1-2/+1
2024-12-23btrfs: check folio mapping after unlock in put_file_data()Boris Burkov1-0/+6
2024-11-11btrfs: send: check for read-only send root under critical sectionFilipe Manana1-10/+6
2024-11-11btrfs: send: check for dead send root under critical sectionFilipe Manana1-9/+8
2024-11-11btrfs: add io_uring command for encoded reads (ENCODED_READ ioctl)Mark Harmstone1-1/+2
2024-11-11btrfs: drop unused parameter fs_info from btrfs_match_dir_item_name()David Sterba1-2/+1
2024-11-11btrfs: drop unused parameter file_offset from btrfs_encoded_read_regular_fill...David Sterba1-1/+1
2024-11-11btrfs: send: drop unused parameter index from iterate_inode_ref_t callbacksDavid Sterba1-13/+5
2024-11-11btrfs: send: drop unused parameter num from iterate_inode_ref_t callbacksDavid Sterba1-7/+5
2024-10-11btrfs: send: cleanup unneeded return variable in changed_verity()Christian Heusel1-3/+1
2024-10-01btrfs: send: fix invalid clone operation for file that got its size decreasedFilipe Manana1-1/+22
2024-10-01btrfs: send: fix buffer overflow detection when copying path to cache entryFilipe Manana1-3/+5
2024-09-10btrfs: send: fix grammar in commentsThorsten Blum1-2/+2
2024-08-15btrfs: send: annotate struct name_cache_entry with __counted_by()Thorsten Blum1-1/+1
2024-08-13btrfs: send: allow cloning non-aligned extent if it ends at i_sizeFilipe Manana1-13/+39
2024-07-21Merge tag 'mm-stable-2024-07-21-14-50' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-1/+1
2024-07-11btrfs: pass a btrfs_inode to btrfs_ioctl_send()David Sterba1-2/+2
2024-07-11btrfs: remove super block argument from btrfs_iget()Filipe Manana1-5/+4
2024-07-11btrfs: constify pointer parameters where applicableDavid Sterba1-1/+1
2024-07-11btrfs: send: get rid of the label and gotos at ensure_commit_roots_uptodate()Filipe Manana1-10/+2
2024-07-11btrfs: add and use helper to commit the current transactionFilipe Manana1-9/+1
2024-07-11btrfs: send: avoid create/commit empty transaction at ensure_commit_roots_upt...Filipe Manana1-3/+6
2024-07-11btrfs: send: make ensure_commit_roots_uptodate() simpler and more efficientFilipe Manana1-18/+15
2024-07-11btrfs: simplify range parameters of btrfs_wait_ordered_roots()David Sterba1-2/+2
2024-07-03readahead: drop index argument of page_cache_async_readahead()Jan Kara1-1/+1
2024-05-07btrfs: change root->root_key.objectid to btrfs_root_id()Josef Bacik1-15/+14
2024-05-07btrfs: convert put_file_data() to foliosGoldwyn Rodrigues1-22/+23
2024-03-04btrfs: open code trivial btrfs_lru_cache_size()David Sterba1-4/+3
2024-03-04btrfs: send: avoid duplicated search for last extent when sending holeFilipe Manana1-15/+12
2024-03-04btrfs: change BUG_ON to assertion in tree_move_down()David Sterba1-1/+1
2024-03-04btrfs: send: handle path ref underflow in header iterate_inode_ref()David Sterba1-1/+9
2024-03-04btrfs: send: handle unexpected inode in header process_recorded_refs()David Sterba1-1/+7
2024-03-04btrfs: send: handle unexpected data in header buffer in begin_cmd()David Sterba1-1/+6
2024-03-04btrfs: remove unused included headersDavid Sterba1-1/+0
2024-03-04btrfs: replace sb::s_blocksize by fs_info::sectorsizeDavid Sterba1-1/+1
2024-02-22btrfs: send: don't issue unnecessary zero writes for trailing holeFilipe Manana1-4/+13
2024-01-31btrfs: send: return EOPNOTSUPP on unknown flagsDavid Sterba1-1/+1
2024-01-12btrfs: fix kvcalloc() arguments order in btrfs_ioctl_send()Dmitry Antipov1-2/+2
2023-11-24btrfs: send: ensure send_fd is writableJann Horn1-1/+1
2023-10-12btrfs: remove btrfs_crc32c wrapperJosef Bacik1-3/+3
2023-08-21btrfs: use LIST_HEAD() to initialize the list_headRuan Jinjie1-4/+2
2023-06-19btrfs: send: do not BUG_ON() on unexpected symlink data extentFilipe Manana1-2/+14
2023-04-17btrfs: fix uninitialized variable warningsGenjian Zhang1-1/+1
2023-02-15btrfs: send: cache utimes operations for directories if possibleFilipe Manana1-5/+99
2023-02-15btrfs: send: update size of roots array for backref cache entriesFilipe Manana1-7/+8
2023-02-15btrfs: send: use the lru cache to implement the name cacheFilipe Manana1-141/+27
2023-02-13btrfs: allow a generation number to be associated with lru cache entriesFilipe Manana1-3/+5
2023-02-13btrfs: send: cache information about created directoriesFilipe Manana1-1/+40
2023-02-13btrfs: send: genericize the backref cache to allow it to be reusedFilipe Manana1-56/+24
2023-02-13btrfs: send: initialize all the red black trees earlierFilipe Manana1-6/+6
2023-02-13btrfs: send: iterate waiting dir move rbtree only once when processing refsFilipe Manana1-5/+2
2023-02-13btrfs: send: reduce searches on parent root when checking if dir can be removedFilipe Manana1-6/+59
2023-02-13btrfs: send: avoid unnecessary orphan dir rbtree search at can_rmdir()Filipe Manana1-4/+7
2023-02-13btrfs: send: avoid duplicated orphan dir allocation and initializationFilipe Manana1-15/+12
2023-02-13btrfs: send: remove send_progress argument from can_rmdir()Filipe Manana1-8/+5
2023-02-13btrfs: send: avoid extra b+tree searches when checking reference overridesFilipe Manana1-32/+29
2023-02-13btrfs: send: directly return from will_overwrite_ref() and simplify itFilipe Manana1-22/+16
2023-02-13btrfs: send: avoid unnecessary generation search at did_overwrite_ref()Filipe Manana1-9/+22
2023-02-13btrfs: send: directly return from did_overwrite_ref() and simplify itFilipe Manana1-25/+18
2023-02-13btrfs: use PAGE_{ALIGN, ALIGNED, ALIGN_DOWN} macroYushan Zhou1-2/+2
2023-02-13btrfs: fix uninitialized variable warning in get_inode_genJosef Bacik1-5/+3
2023-02-06Merge tag 'for-6.2-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-3/+3
2023-01-27btrfs: send: limit number of clones and allocated memory sizeDavid Sterba1-3/+3
2022-12-14Merge tag 'hardening-v6.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-5/+6
2022-12-05btrfs: send: bump the extent reference count limit for backref walkingFilipe Manana1-1/+1
2022-12-05btrfs: send: skip resolution of our own backref when finding clone sourceFilipe Manana1-0/+33
2022-12-05btrfs: send: avoid double extent tree search when finding clone sourceFilipe Manana1-56/+47
2022-12-05btrfs: send: skip unnecessary backref iterationsFilipe Manana1-40/+41
2022-12-05btrfs: send: cache leaf to roots mapping during backref walkingFilipe Manana1-0/+185
2022-12-05btrfs: use a structure to pass arguments to backref walking functionsFilipe Manana1-8/+7
2022-12-05btrfs: use a single argument for extent offset in backref walking functionsFilipe Manana1-1/+1
2022-12-05btrfs: send: optimize clone detection to increase extent sharingFilipe Manana1-16/+33
2022-12-05btrfs: send: avoid unnecessary backref lookups when finding clone sourceFilipe Manana1-1/+10
2022-12-05btrfs: send: drop unnecessary backref context field initializationsFilipe Manana1-3/+2
2022-12-05btrfs: send: update comment at find_extent_clone()Filipe Manana1-7/+7
2022-12-05btrfs: send: avoid unnecessary path allocations when finding extent cloneFilipe Manana1-21/+16
2022-12-05btrfs: move verity prototypes into verity.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 dir-item prototypes into dir-item.hJosef Bacik1-0/+1
2022-12-05btrfs: extend btrfs_dir_item type to store encryption statusOmar Sandoval1-1/+1
2022-12-05btrfs: use struct fscrypt_str instead of struct qstrSweet Tea Dorminy1-2/+2
2022-12-05btrfs: use struct qstr instead of name and namelen pairsSweet Tea Dorminy1-4/+8
2022-12-05btrfs: move accessor helpers into accessors.hJosef Bacik1-0/+1
2022-12-05btrfs: send add define for v2 buffer sizeWang Yugui1-1/+1
2022-11-21btrfs: send: avoid unaligned encoded writes when attempting to clone rangeFilipe Manana1-1/+23
2022-11-01btrfs: send: Proactively round up to kmalloc bucket sizeKees Cook1-5/+6
2022-10-24btrfs: send: fix send failure of a subcase of orphan inodesBingJing Chang1-11/+13
2022-10-11btrfs: send: update command for protocol version checkDavid Sterba1-1/+4
2022-10-11btrfs: send: allow protocol version 3 with CONFIG_BTRFS_DEBUGBoris Burkov1-1/+1
2022-09-26btrfs: send: fix failures when processing inodes with no linksBingJing Chang1-129/+81
2022-09-26btrfs: send: refactor arguments of get_inode_info()BingJing Chang1-75/+78
2022-09-26btrfs: send: add support for fs-verityBoris Burkov1-0/+102
2022-07-25btrfs: send: always use the rbtree based inode ref management infrastructureFilipe Manana1-181/+12
2022-07-25btrfs: send: fix sending link commands for existing file pathsBingJing Chang1-4/+152
2022-07-25btrfs: send: introduce recorded_ref_alloc and recorded_ref_freeBingJing Chang1-10/+24
2022-07-25btrfs: send: add new command FILEATTR for file attributesDavid Sterba1-27/+77
2022-07-25btrfs: send: add OTIME as utimes attribute for proto 2+ by defaultDavid Sterba1-1/+2
2022-07-25btrfs: send: use boolean types for current inode statusDavid Sterba1-16/+16
2022-07-25btrfs: send: remove old TODO regarding ERESTARTSYSDavid Sterba1-6/+1
2022-07-25btrfs: send: simplify includesDavid Sterba1-0/+1
2022-07-25btrfs: send: enable support for stream v2 and compressed writesOmar Sandoval1-2/+5
2022-07-25btrfs: send: send compressed extents with encoded writesOmar Sandoval1-17/+215
2022-07-25btrfs: send: get send buffer pages for protocol v2Omar Sandoval1-4/+25
2022-07-25btrfs: send: write larger chunks when using stream v2Omar Sandoval1-8/+35
2022-07-25btrfs: send: add stream v2 definitionsOmar Sandoval1-1/+1
2022-07-25btrfs: send: explicitly number commands and attributesOmar Sandoval1-2/+2
2022-07-25btrfs: send: remove unused send_ctx::{total,cmd}_send_sizeOmar Sandoval1-4/+0
2022-07-16Merge tag 'for-5.19-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-18/+22
2022-07-15Revert "btrfs: turn name_cache radix tree into XArray in send_ctx"David Sterba1-18/+22
2022-05-24Merge tag 'folio-5.19' of git://git.infradead.org/users/willy/pagecacheLinus Torvalds1-3/+3
2022-05-17btrfs: send: avoid trashing the page cacheFilipe Manana1-3/+82
2022-05-16btrfs: send: keep the current inode open while processing itFilipe Manana1-19/+35
2022-05-16btrfs: turn name_cache radix tree into XArray in send_ctxGabriel Niebler1-22/+18
2022-05-16btrfs: use btrfs_for_each_slot in btrfs_unlink_all_pathsGabriel Niebler1-23/+13
2022-05-16btrfs: use btrfs_for_each_slot in process_all_extentsGabriel Niebler1-29/+8
2022-05-16btrfs: use btrfs_for_each_slot in process_all_new_xattrsGabriel Niebler1-27/+8
2022-05-16btrfs: use btrfs_for_each_slot in process_all_refsGabriel Niebler1-23/+8
2022-05-16btrfs: use btrfs_for_each_slot in is_ancestorGabriel Niebler1-18/+7
2022-05-16btrfs: use btrfs_for_each_slot in can_rmdirGabriel Niebler1-17/+6
2022-05-16btrfs: use btrfs_for_each_slot in did_create_dirGabriel Niebler1-29/+11
2022-05-09btrfs: Convert btrfs to read_folioMatthew Wilcox (Oracle)1-1/+1
2022-05-08mm/readahead: Convert page_cache_async_readahead to take a folioMatthew Wilcox (Oracle)1-1/+2
2022-03-14btrfs: send: remove redundant ret variable in fs_path_copyMinghao Chi1-6/+1
2022-03-14btrfs: reuse existing inode from btrfs_ioctlSahil Kang1-2/+2
2022-02-09btrfs: send: in case of IO error log itDāvis Mosāns1-0/+4
2022-01-07btrfs: make send work with concurrent block group relocationFilipe Manana1-49/+308
2022-01-03btrfs: send: remove unused type parameter to iterate_inode_ref_tOmar Sandoval1-19/+13
2022-01-03btrfs: send: remove unused found_type parameter to lookup_dir_item_inode()Omar Sandoval1-7/+3
2022-01-03btrfs: drop the _nr from the item helpersJosef Bacik1-7/+7
2022-01-03btrfs: use btrfs_item_size_nr/btrfs_item_offset_nr everywhereJosef Bacik1-6/+2
2021-10-29btrfs: send: prepare for v2 protocolDavid Sterba1-0/+23
2021-10-25btrfs: send: simplify send_create_inode_if_neededMarcos Paulo de Souza1-11/+4
2021-08-23btrfs: allocate backref_ctx on stack in find_extent_cloneGoldwyn Rodrigues1-18/+11
2021-08-23btrfs: constify and cleanup variables in comparatorsDavid Sterba1-3/+3
2021-06-22btrfs: send: fix crash when memory allocations trigger reclaimFilipe Manana1-2/+0
2021-06-22btrfs: ensure relocation never runs while we have send operations runningFilipe Manana1-7/+7
2021-06-22btrfs: fix typos in commentsDavid Sterba1-1/+1