[PATCH 0/2] vfs: move the clone/dedupe/remap helpers to a single file
From: Darrick J. Wong
Date: Wed Oct 14 2020 - 20:31:38 EST
Hi all,
I would like to move the generic helper functions that support the file
remap range operations (aka clone and dedupe) to a separate file under
fs/. For the moment, I have a few goals here: one is to declutter
fs/read_write.c and mm/filemap.c. The second goal is to be able to
deselect all the remap code if no filesystems require it.
The third (and much more long term) goal is to have a place to land the
generic code for the atomic file extent swap functionality, since it
will reuse some of the functionality. Someday. Whenever I get around
to submitting that again.
AFAICT, nobody is attempting to land any major changes in any of the vfs
remap functions during the 5.10 window -- for-next showed conflicts only
in the Makefile, so it seems like a quiet enough time to do this. There
are no functional changes here, it's just moving code blocks around.
So, I have a few questions, particularly for Al, Andrew, and Linus:
(1) Do you find this reorganizing acceptable?
(2) I was planning to rebase this series next Friday and try to throw it
in at the end of the merge window; is that ok? (The current patches are
based on 5.9, and applying them manually to current master and for-next
didn't show any new conflicts.)
(3) Can I just grab the copyrights from mm/filemap.c? Or fs/read_write.c?
Or something entirely different?
If you're going to start using this mess, you probably ought to just
pull from my git trees, which are linked below.
This is an extraordinary way to destroy everything. Enjoy!
Comments and questions are, as always, welcome.
--D
kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=vfs-rearrange-remap-helpers
---
fs/Makefile | 3
fs/read_write.c | 473 -------------------------------------------
fs/remap_range.c | 577 ++++++++++++++++++++++++++++++++++++++++++++++++++++
include/linux/fs.h | 5
mm/filemap.c | 81 -------
5 files changed, 582 insertions(+), 557 deletions(-)
create mode 100644 fs/remap_range.c