https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293028
Alan Somers <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #2 from Alan Somers <[email protected]> --- CC rmacklem, who's done so much work on copy_file_range. copy_file_range is definitely not supposed to be one-shot. Its man page says "It is interruptible on most file systems" and "If it succeeds, the call returns the number of bytes copied, which can be fewer than len." And cp definitely does not assume that copy_file_range is one-shot. You can see that there's a loop in bin/cp/utils.c: 207. So I think there one of two things must be going on: * Either cp isn't handling an EINTR return value correctly, and is wrongly exiting from the loop, or * fusefs's VOP_COPY_FILE_RANGE implementation is returning EINTR when it really should be returning a short operation instead. I think the first problem is likelier. But a reproduction case would be helpful. -- You are receiving this mail because: You are the assignee for the bug.
