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.

Reply via email to