https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293028
Bug ID: 293028
Summary: About ENTR in cp(1), copy_file_range(2) and fuse
filesystems
Product: Base System
Version: 16.0-CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: [email protected]
Reporter: [email protected]
I want to discuss this discrepancy as it currently exists in FreeBSD (all
versions).
cp(1) assumes that copy_file_range(2) is a one-shot. cp does not put a loop
around the system call dealing with EINTR.
However, this assumption is untrue at least on fuse filesystems. They can exit
copy_file_range(2) with EINTR, e.g. when one copy operation is underway and a
du(1) is executed simultaneously. This popped up at least twice on the FreeBSD
forums. cp(1) basically doesn't work at all in that situation, the users need
to use rsync instead. Which they don't know.
I am soliciting opinions about "who is right" here. We need to either loop
around copy_file_range=>EINTR or change fuse.
--
You are receiving this mail because:
You are the assignee for the bug.