Date: Sat, 07 Feb 2026 16:49:02 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 293028] About ENTR in cp(1), copy_file_range(2) and fuse filesystems Message-ID: <bug-293028-227@https.bugs.freebsd.org/bugzilla/>
index | next in thread | raw e-mail
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: bugs@FreeBSD.org Reporter: cracauer@cons.org 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.home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-293028-227>
