Skip to contentSkip to conversation

vfs: move the clone/dedupe/remap helpers to a single file

GIT PULL Merged Darrick J. Wong 2 participants 2 messages Oct 22, 2020 – Oct 23, 2020

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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