Replies: 6 comments 16 replies
-
At the end of the day ZFS doesn't have anything to offer which "accelerates" the process. This system call merely removes the copies from user and kernel spaces. In most situations that's not going to be substantially faster than your disks or controllers can perform the IO. |
Beta Was this translation helpful? Give feedback.
-
The storage won't go faster because of this syscall, but it saves resources from
|
Beta Was this translation helpful? Give feedback.
-
Also, macOS needs |
Beta Was this translation helpful? Give feedback.
-
FYI. copy_file_range is implemented on few Linux file systems, with varying level of optimisations:
There were btrfs and xfs specific ioctls in the past to do similar, but now it is more standarized. Would be nice to see this in ZFS somehow. As others mentioned, wine / proton uses this to reduce file duplication between wine prefixes. This syscall is readily available in many programming languages, including C / glibc, Python 3.8, golang, Rust. Also older versions of GNU coreutils |
Beta Was this translation helpful? Give feedback.
-
I have this wired up minimally successfully to the BRT PR, though there are quirks in that case when using it cross-filesystem due to Linux hardcoding restrictions on things. Though I would point out that as FreeBSD recently encountered with their |
Beta Was this translation helpful? Give feedback.
-
@rincebrain What are the quirks? |
Beta Was this translation helpful? Give feedback.
-
This is a interesting new syscall first appeared in linux kernel 4.4 that offloaded file copy from user space to kernel, and I think this is a great way to implement a lightweight copying in between zfs file systems. Is there a plan to support it on ZoL?
Beta Was this translation helpful? Give feedback.
All reactions