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