[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