vfs: no fallback for ->copy_file_range
authorDave Chinner <dchinner@redhat.com>
Wed, 5 Jun 2019 15:04:47 +0000 (08:04 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Sun, 9 Jun 2019 17:06:19 +0000 (10:06 -0700)
commit64bf5ff58dff757253cf2142542672de4b21cd1a
tree45cacb386c21b2778cc9a0562e5ee3aa0b2924be
parentf16acc9d9b3761ae5e45219c9302f99e20919829
vfs: no fallback for ->copy_file_range

Now that we have generic_copy_file_range(), remove it as a fallback
case when offloads fail. This puts the responsibility for executing
fallbacks on the filesystems that implement ->copy_file_range and
allows us to add operational validity checks to
generic_copy_file_range().

Rework vfs_copy_file_range() to call a new do_copy_file_range()
helper to execute the copying callout, and move calls to
generic_file_copy_range() into filesystem methods where they
currently return failures.

[Amir] overlayfs is not responsible of executing the fallback.
It is the responsibility of the underlying filesystem.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/ceph/file.c
fs/cifs/cifsfs.c
fs/fuse/file.c
fs/nfs/nfs4file.c
fs/read_write.c