aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/send.c
AgeCommit message (Expand)AuthorFilesLines
12 daysbtrfs: change root->root_key.objectid to btrfs_root_id()Josef Bacik1-15/+14
12 daysbtrfs: 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
2021-06-22btrfs: send: use list_move_tail instead of list_del/list_add_tailBaokun Li1-11/+7
2021-06-22btrfs: send: fix invalid path for unlink operations after parent orphanizationFilipe Manana1-0/+11
2021-04-28btrfs: fix deadlock when cloning inline extents and using qgroupsFilipe Manana1-2/+2
2021-04-19btrfs: improve btree readahead for full send operationsFilipe Manana1-1/+1
2021-04-19btrfs: add btree read ahead for incremental send operationsFilipe Manana1-6/+36
2021-04-19btrfs: add btree read ahead for full send operationsFilipe Manana1-0/+1
2021-03-01Merge branch 'kmap-conversion-for-5.12' of git://git.kernel.org/pub/scm/linux...Linus Torvalds1-5/+2
2021-02-26btrfs: use memcpy_[to|from]_page() and kmap_local_page()Ira Weiny1-5/+2
2021-02-08btrfs: send: use struct send_ctx *sctx for btrfs_compare_trees and changed_cbRoman Anasal1-8/+7
2021-02-08btrfs: send: remove stale code when checking for shared extentsFilipe Manana1-16/+0
2021-01-12btrfs: send: fix invalid clone operations when cloning from the same file and...Filipe Manana1-0/+15
2020-12-18btrfs: send: fix wrong file path when there is an inode with a pending rmdirFilipe Manana1-18/+31
2020-12-08btrfs: send: use helpers to access root_item::ctransidDavid Sterba1-3/+3
2020-10-07btrfs: send, recompute reference path after orphanization of a directoryFilipe Manana1-0/+72
2020-10-07btrfs: send, orphanize first all conflicting inodes when processing referencesFilipe Manana1-40/+87
2020-10-07btrfs: send: use helpers for unaligned access to header membersDavid Sterba1-7/+7
2020-10-07btrfs: use kvcalloc for allocation in btrfs_ioctl_send()Denis Efremov1-5/+6
2020-10-07btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send()Denis Efremov1-1/+1
2020-10-07btrfs: send: use btrfs_file_extent_end() in send_write_or_clone()Omar Sandoval1-33/+11
2020-10-07btrfs: send: avoid copying file dataOmar Sandoval1-26/+39
2020-10-07btrfs: send: get rid of i_size logic in send_write()Omar Sandoval1-27/+10
2020-10-07btrfs: send: remove indirect callback parameter for changed_cbDavid Sterba1-9/+2
2020-06-02Merge tag 'for-5.8-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdav...Linus Torvalds1-17/+72
2020-05-25btrfs: simplify iget helpersDavid Sterba1-6/+1
2020-05-25btrfs: simplify root lookup by idDavid Sterba1-11/+4
2020-05-25btrfs: send: emit file capabilities after chownMarcos Paulo de Souza1-0/+67
2020-05-09btrfs_ioctl_send(): don't bother with access_ok()Al Viro1-7/+0
2020-03-23btrfs: kill the subvol_srcuJosef Bacik1-14/+0
2020-03-23btrfs: add helper to get the end offset of a file extent itemFilipe Manana1-41/+3
2020-03-23btrfs: rename btrfs_put_fs_root and btrfs_grab_fs_rootJosef Bacik1-6/+6
2020-03-23btrfs: push btrfs_grab_fs_root into btrfs_get_fs_rootJosef Bacik1-11/+0
2020-03-23btrfs: hold a ref on the root in btrfs_ioctl_sendJosef Bacik1-4/+24
2020-03-23btrfs: open code btrfs_read_fs_root_no_nameJosef Bacik1-2/+2
2020-01-31Btrfs: send, fix emission of invalid clone operations within the same fileFilipe Manana1-1/+2
2019-12-13btrfs: send: remove WARN_ON for readonly mountAnand Jain1-6/+0
2019-11-18Btrfs: send, skip backreference walking for extents with many referencesFilipe Manana1-1/+24
2019-11-18Btrfs: send, allow clone operations within the same fileFilipe Manana1-5/+13
2019-11-18btrfs: drop unused parameter is_new from btrfs_igetDavid Sterba1-1/+1
2019-10-08btrfs: silence maybe-uninitialized warning in clone_rangeAustin Kim1-1/+1
2019-09-09btrfs: Relinquish CPUs in btrfs_compare_treesNikolay Borisov1-0/+1
2019-09-09btrfs: move functions for tree compare to send.cDavid Sterba1-0/+374
2019-07-30Btrfs: fix incremental send failure after deduplicationFilipe Manana1-62/+15
2019-07-02Btrfs: prevent send failures and crashes due to concurrent relocationFilipe Manana1-0/+14
2019-07-01btrfs: resurrect btrfs_crc32c()Johannes Thumshirn1-1/+1
2019-05-28Btrfs: incremental send, fix emission of invalid clone operationsFilipe Manana1-3/+43
2019-05-28Btrfs: incremental send, fix file corruption when no-holes feature is enabledFilipe Manana1-0/+6
2019-04-29Btrfs: fix race between send and deduplication that lead to failures and crashesFilipe Manana1-0/+26
2019-04-29Btrfs: send, flush dellaloc in order to avoid data lossFilipe Manana1-0/+36
2019-04-29Btrfs: send, improve clone rangeRobbie Ko1-19/+33
2019-01-03Remove 'type' argument from access_ok() functionLinus Torvalds1-1/+1
2018-12-17btrfs: Fix typos in comments and stringsAndrea Gelmini1-2/+2
2018-12-17btrfs: use offset_in_page instead of open-coding itJohannes Thumshirn1-1/+1
2018-11-21Btrfs: send, fix infinite loop due to directory rename dependenciesRobbie Ko1-3/+8
2018-10-15Btrfs: unify error handling of btrfs_lookup_dir_itemLiu Bo1-6/+2
2018-10-15btrfs: Remove 'objectid' member from struct btrfs_rootMisono Tomohiro1-8/+8
2018-08-06Btrfs: send, fix incorrect file layout after hole punching beyond eofFilipe Manana1-0/+9
2018-08-06Btrfs: fix send failure when root has deleted files still openFilipe Manana1-8/+129
2018-08-06Btrfs: remove unused key assignment when doing a full sendFilipe Manana1-7/+2
2018-08-06btrfs: Get rid of the confusing btrfs_file_extent_inline_lenQu Wenruo1-10/+7
2018-05-28btrfs: incremental send, improve rmdir performance for large directoryRobbie Ko1-9/+22
2018-05-28btrfs: incremental send, move allocation until it's needed in orphan_dir_infoRobbie Ko1-7/+6
2018-05-28btrfs: send: fix spelling mistake: "send_in_progres" -> "send_in_progress"Colin Ian King1-1/+1
2018-05-02Btrfs: send, fix missing truncate for inode with prealloc extent past eofFilipe Manana1-0/+4
2018-04-12btrfs: replace GPL boilerplate by SPDX -- sourcesDavid Sterba1-14/+1
2018-03-26Btrfs: send: fix typo in TLV_PUTLiu Bo1-2/+2
2018-03-26Btrfs: send, do not issue unnecessary truncate operationsFilipe Manana1-5/+21
2018-03-26btrfs: add more __cold annotationsDavid Sterba1-0/+1
2018-03-26btrfs: Remove custom crc32c init codeNikolay Borisov1-2/+2
2018-03-01Btrfs: send, fix issuing write op when processing hole in no data modeFilipe Manana1-0/+3
2018-01-22btrfs: Cleanup existing name_len checksQu Wenruo1-6/+0
2017-11-28Btrfs: incremental send, fix wrong unlink path after renaming fileFilipe Manana1-18/+106
2017-11-01btrfs: add a flag to iterate_inodes_from_logical to find all extent refs for ...Zygo Blaxell1-1/+1
2017-11-01btrfs: send: remove unused codeNikolay Borisov1-6/+0
2017-10-30btrfs: fix send ioctl on 32bit with 64bit kernelJosef Bacik1-10/+2
2017-10-30Btrfs: send, apply asynchronous page cache readahead to enhance page readKuanling Huang1-5/+16
2017-10-30btrfs: Remove unused arguments from btrfs_changed_cb_tNikolay Borisov1-5/+3
2017-10-30btrfs: Remove unused parameters from various functionsNikolay Borisov1-14/+11
2017-09-29Merge branch 'for-4.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-1/+1
2017-09-26Btrfs: send: fix error number for unknown inode typesTsutomu Itoh1-1/+1
2017-09-14Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/v...Linus Torvalds1-14/+4
2017-09-04btrfs: switch write_buf to kernel_writeChristoph Hellwig1-14/+4
2017-08-21Btrfs: incremental send, fix emission of invalid clone operationsFilipe Manana1-0/+19
2017-08-16btrfs: remove trivial wrapper btrfs_force_raDavid Sterba1-1/+1
2017-07-06Btrfs: incremental send, fix invalid memory accessFilipe Manana1-3/+4
2017-07-06Btrfs: incremental send, fix invalid path for link commandsFilipe Manana1-30/+51
2017-06-21btrfs: Check name_len before read in iterate_dir_itemSu Yue1-0/+6
2017-06-21Btrfs: incremental send, fix invalid path for unlink commandsFilipe Manana1-5/+47