]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitd02368e5d47c0fc8ef1a7aaab0997502a643487a
tree45cacb386c21b2778cc9a0562e5ee3aa0b2924be
parent816cdaaadbf61a4b1a59d1d82ee1edd04aec2fcb
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