Use copy_file_range system call for copying on Linux systems

Ilya Starchenko redux1234567 at mail.ru
Wed Feb 16 13:13:40 UTC 2022


 
I have suggestion. Copy_file_range() has been introduced in the Linux kernel since version 4.5. system call performs an in-kernel copy between two file descriptors without the additional cost of transferring data from the kernel to user space and then back into the kernel, including NFS(It will have huge performance impact). It copies up to len bytes of data from the source file descriptor fd_in to the target file descriptor fd_out, overwriting any data that exists within the requested range of the target file. Currently we use sendfile, but I think we need to use copy_file_range when possible. What do you think?
--
Ilya Starchenko


More information about the core-libs-dev mailing list