Date: Sun, 20 Sep 2020 09:45:34 -0600 From: Alan Somers <asomers@freebsd.org> To: FreeBSD Hackers <freebsd-hackers@freebsd.org> Subject: RFC: copy_file_range(3) Message-ID: <CAOtMX2iFZZpoj%2Bap21rrju4hJoip6ZoyxEiCB8852NeH7DAN0Q@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
copy_file_range(2) is nifty, but it has a few sharp edges: 1) Certain file systems don't support it, necessitating a write/read based fallback 2) It doesn't handle sparse files as well as SEEK_HOLE/SEEK_DATA 3) It's slightly tricky to both efficiently deal with holes and also promptly respond to signals These problems aren't terribly hard, but it seems to me like most applications that use copy_file_range would share the exact same solutions. In particular, I'm thinking about cp(1), dd(1), and install(8). Those three could benefit from sharing a userland wrapper that handles the above problems. Should we add such a wrapper to libc? If so, what should it be called, and should it be public or just private to /usr/src ? -Alan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2iFZZpoj%2Bap21rrju4hJoip6ZoyxEiCB8852NeH7DAN0Q>