On Mon, Oct 01, 2018 at 01:51:09PM -0600, Andreas Dilger wrote: > > Yes, I would expect there to be problems with his modified kernel > > for a filesystem that supports clone_file_range, because > > vfs_copy_file_range() will clone if possible, and this should fail across > > filesystems. > > > > In general, though, I don't know for sure why we don't fall back to > > do_splice_direct() across filesystems, although the filesystems that > > implement their own ->copy_file_range ops may have their own, > > further restrictions within their implementations. > > > > This call /is/ documented in the manpage as only being valid for > > files on the same filesystem, though: > > http://man7.org/linux/man-pages/man2/copy_file_range.2.html > > There was a patch to allow cross-mount copy for NFS, but it hasn't landed > yet. I found https://marc.info/?l=linux-nfs&m=144138779721907&w=2 that lifts the VFS check (part of a series that can't be easily linked to). The lack of cross-mount reflink (based on the copy_file_ragne) is often confusing users, there are common setups that mount subvolumes separately and reflinking between them would require mount of the toplevel subvolume. If there are 2 in-kernel users of the relaxed cross-mount copy, I think this would help to push the series forward.