[RFC][PATCH 0/5] Proposal for Cross-fs copy_file_range()

Amir Goldstein <[email protected]> Thu, 23 Jul 2026 13:48:43 +0200
Newsgroups org.kernel.vger.linux-unionfs,org.kernel.vger.linux-fsdevel
Message-ID <[email protected]>
Hi all,

Daan De Meyer requested a way to do copy_file_range() from overlayfs
to/from another fs, where if that fs is the base fs of overlayfs layer
the copy could be an efficient clone.

TBH, he also requested support also for cross-fs clone_file_range(),
but I am not happy about providing that.

copy_file_range() already supports cross-sb efficient copy (e.g. with
NFS/SMB server-side copy).

The current limitation of staying on the same fstype is mainly an
internal technical limitation (choosing the right f_op), which is
something that this RFC is trying to address.

The overlayfs implementation itself is pretty trivial.

Thanks,
Amir.


Amir Goldstein (5):
  fs: clarify cross-sb copy_file_range() code
  fs: add support for copy file range from another fs
  fs: add support for copy file range to another fs
  ovl: add support for copy file range from another fs
  ovl: add support for copy file range to another fs

 fs/overlayfs/file.c      |  35 ++++++++++++
 fs/overlayfs/ovl_entry.h |   7 ++-
 fs/read_write.c          | 119 ++++++++++++++++++++++++++++-----------
 include/linux/fs.h       |   2 +
 4 files changed, 130 insertions(+), 33 deletions(-)

-- 
2.54.0