[PATCH 5/5] vfs_default: add copy_file_range support for copy chunk
ddiss at samba.org
Fri Jan 20 13:55:29 UTC 2017
On Fri, 20 Jan 2017 00:01:43 +0100, Björn Jacke wrote:
> we try to use the copy_file_range syscall first, which can ideally be a
> zero-copy operation. We fall back to userspace read/write if copy_file_range
> is not available.
Thanks for working on this. A couple of comments on this patch:
- Please use the off_in/off_out syscall parameters instead of seeking.
- I'd prefer to see the copy_file_range() loop split into a separate
copy_chunk_send_fn hook, with a fallback to vfswrap_copy_chunk_send(),
for the following reasons:
+ this would avoid the 8M I/O buffer allocation in the fast-path.
+ mid-function #ifdef pollution would be avoided.
+ FSCTL Duplicate Extents To File doesn't permit server-side
read/write fallback. Blocking this in the copy_file_range()
parent function would be cleaner.
+ I/O sizes could be tuned independently of the read/write loop.
More information about the samba-technical