summaryrefslogtreecommitdiff
path: root/glnx-console.c
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2017-08-02 14:32:06 -0400
committerColin Walters <walters@verbum.org>2017-08-08 21:16:34 -0400
commitd18f026ee7316bc2dde291c55db49b69dcb76df3 (patch)
tree15c180b5b37cf313ac40118a9bcf0fb068c3fa07 /glnx-console.c
parent29ad99c9b6103853e6d6bf42fa7bff335eb114a8 (diff)
downloadlibglnx-d18f026ee7316bc2dde291c55db49b69dcb76df3.tar.gz
fdio: Merge systemd code to use copy_file_range(), use FICLONE
FICLONE is the new alias for the formerly btrfs-specific ioctl; XFS has experimental patches to support it. Further, we should use copy_file_range() for the case where we're only doing a limited copy. Both NFS and XFS (with reflink enabled) understand it. Part of the reason I'm doing this is so that ostree's `/etc` merge will start using XFS reflinks. But another major reason is to take the next step after and copy this code into GLib as well, so that all of the general GLib users will benefit; e.g. Nautilus will transparently do server copy offloads with NFS home directories. See also this coreutils thread about `copy_file_range()`: <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24399>. I don't care about file holes for our use cases, so it's fine. Other changes while I'm here: - Tweak the sendfile() case to match the newly inlined logic for cfr - Add a TEMP_FAILURE_RETRY() around the read()
Diffstat (limited to 'glnx-console.c')
0 files changed, 0 insertions, 0 deletions