linux/fs/btrfs
Darrick J. Wong 42ec3d4c02 vfs: make remap_file_range functions take and return bytes completed
Change the remap_file_range functions to take a number of bytes to
operate upon and return the number of bytes they operated on.  This is a
requirement for allowing fs implementations to return short clone/dedupe
results to the user, which will enable us to obey resource limits in a
graceful manner.

A subsequent patch will enable copy_file_range to signal to the
->clone_file_range implementation that it can handle a short length,
which will be returned in the function's return value.  For now the
short return is not implemented anywhere so the behavior won't change --
either copy_file_range manages to clone the entire range or it tries an
alternative.

Neither clone ioctl can take advantage of this, alas.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2018-10-30 10:41:49 +11:00
..
tests btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_account_extent 2018-08-06 13:12:52 +02:00
acl.c
async-thread.c
async-thread.h
backref.c btrfs: backref: Use ERR_CAST to return error code 2018-08-06 13:13:01 +02:00
backref.h
btrfs_inode.h
check-integrity.c
check-integrity.h
compression.c btrfs: drop extent_io_ops::merge_bio_hook callback 2018-08-06 13:12:56 +02:00
compression.h
ctree.c
ctree.h vfs: make remap_file_range functions take and return bytes completed 2018-10-30 10:41:49 +11:00
dedupe.h
delayed-inode.c btrfs: Remove fs_info from btrfs_delete_delayed_dir_index 2018-08-06 13:13:00 +02:00
delayed-inode.h btrfs: Remove fs_info from btrfs_delete_delayed_dir_index 2018-08-06 13:13:00 +02:00
delayed-ref.c
delayed-ref.h
dev-replace.c btrfs: replace: Reset on-disk dev stats value after replace 2018-08-06 13:13:01 +02:00
dev-replace.h
dir-item.c btrfs: Remove fs_info from btrfs_insert_delayed_dir_index 2018-08-06 13:13:00 +02:00
disk-io.c Btrfs: fix unexpected failure of nocow buffered writes after snapshotting when low on space 2018-08-17 18:35:43 +02:00
disk-io.h btrfs: unify end_io callbacks of async_submit_bio 2018-08-06 13:12:55 +02:00
export.c
export.h
extent-tree.c btrfs: fix qgroup_free wrong num_bytes in btrfs_subvolume_reserve_metadata 2018-08-23 17:37:26 +02:00
extent_io.c btrfs: readpages() should submit IO as read-ahead 2018-08-17 16:20:29 -07:00
extent_io.h btrfs: drop extent_io_ops::set_range_writeback callback 2018-08-06 13:12:56 +02:00
extent_map.c
extent_map.h
file-item.c
file.c vfs: combine the clone and dedupe into a single remap_file_range 2018-10-30 10:41:21 +11:00
free-space-cache.c btrfs: btrfs_iget never returns an is_bad_inode inode 2018-08-06 13:13:02 +02:00
free-space-cache.h
free-space-tree.c btrfs: Remove fs_info from btrfs_del_root 2018-08-06 13:13:00 +02:00
free-space-tree.h
inode-item.c
inode-map.c
inode-map.h
inode.c for-4.19-rc2-tag 2018-09-06 09:04:45 -07:00
ioctl.c vfs: make remap_file_range functions take and return bytes completed 2018-10-30 10:41:49 +11:00
Kconfig
locking.c
locking.h
lzo.c
Makefile
math.h
ordered-data.c
ordered-data.h
orphan.c
print-tree.c
print-tree.h
props.c
props.h
qgroup.c btrfs: use after free in btrfs_quota_enable 2018-08-23 17:37:27 +02:00
qgroup.h btrfs: qgroup: Drop fs_info parameter from btrfs_qgroup_inherit 2018-08-06 13:12:53 +02:00
raid56.c btrfs: raid56: catch errors from full_stripe_write 2018-08-06 13:12:45 +02:00
raid56.h
rcu-string.h
reada.c
ref-verify.c
ref-verify.h
relocation.c btrfs: btrfs_iget never returns an is_bad_inode inode 2018-08-06 13:13:02 +02:00
root-tree.c btrfs: Remove fs_info from btrfs_add_root_ref 2018-08-06 13:13:00 +02:00
scrub.c btrfs: Use wrapper macro for rcu string to remove duplicate code 2018-08-06 13:13:02 +02:00
send.c Btrfs: send, fix incorrect file layout after hole punching beyond eof 2018-08-06 13:13:03 +02:00
send.h
struct-funcs.c
super.c btrfs: Use wrapper macro for rcu string to remove duplicate code 2018-08-06 13:13:02 +02:00
sysfs.c
sysfs.h
transaction.c btrfs: simplify IS_ERR/PTR_ERR checks 2018-08-06 13:13:02 +02:00
transaction.h
tree-checker.c
tree-checker.h
tree-defrag.c
tree-log.c Btrfs: sync log after logging new name 2018-08-23 17:37:26 +02:00
tree-log.h Btrfs: sync log after logging new name 2018-08-23 17:37:26 +02:00
ulist.c
ulist.h
uuid-tree.c
volumes.c btrfs: btrfs_shrink_device should call commit transaction at the end 2018-08-23 17:37:27 +02:00
volumes.h btrfs: Introduce mount time chunk <-> dev extent mapping check 2018-08-06 13:13:03 +02:00
xattr.c
xattr.h
zlib.c
zstd.c