[GIT PULL] vfs: move the clone/dedupe/remap helpers to a single file

From: Darrick J. Wong
Date: Thu Oct 22 2020 - 18:24:10 EST


Hi Linus,

Please pull this small refactoring series that moves all the support
functions for file range remapping (aka reflink and dedupe) out of
mm/filemap.c and fs/read_write.c and into fs/remap_range.c.

It's been a full week since the initial discussion[1] on fsdevel, and in
that time, nobody has complained about breakage in for-next, and the
relevant parts of the codebase haven't changed significantly. I was
expecting to have to rebase this branch, but aside from the trivial
merge conflict in fs/Makefile this actually still applies cleanly atop
master as of a couple hours ago.

(FWIW I took your suggestion about license headers and didn't drag the
copyright notices along from the other two files.)

So, I tagged my work branch from last week a little while ago and am now
sending this for consideration. Please let me know if you have any
complaints about pulling this, since I can rework the branch.

--D

[1] https://lore.kernel.org/linux-fsdevel/160272187483.913987.4254237066433242737.stgit@magnolia/

The following changes since commit bbf5c979011a099af5dc76498918ed7df445635b:

Linux 5.9 (2020-10-11 14:15:50 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/vfs-5.10-merge-1

for you to fetch changes up to 407e9c63ee571f44a2dfb0828fc30daa02abb6dc:

vfs: move the generic write and copy checks out of mm (2020-10-15 09:50:01 -0700)

----------------------------------------------------------------
Refactored code for 5.10:
- Move the file range remap generic functions out of mm/filemap.c and
fs/read_write.c and into fs/remap_range.c to reduce clutter in the first
two files.

----------------------------------------------------------------
Darrick J. Wong (3):
vfs: move generic_remap_checks out of mm
vfs: move the remap range helpers to remap_range.c
vfs: move the generic write and copy checks out of mm

fs/Makefile | 3 +-
fs/read_write.c | 562 +++++++++++-----------------------------------------
fs/remap_range.c | 571 +++++++++++++++++++++++++++++++++++++++++++++++++++++
include/linux/fs.h | 8 +-
mm/filemap.c | 222 ---------------------
5 files changed, 691 insertions(+), 675 deletions(-)
create mode 100644 fs/remap_range.c