The guix-daemon's libutil/util.cc uses copy_file_range to copy a downloaded file into the store. copy_file_range fails on files larger than 4GB with an error like this: guix build: error: short write in copy_file_range `15' to `16': No such file or directory The man page for copy_file_range says that it could return EFBIG when the range exceeds the maximum range. The daemon code does not check any limits and will attempt to copy the whole file. I believe our code ought to check the value of st.size and fall back to a boring copy if it exceeds some "reasonable" value. This is where copy_file_range is used: https://git.savannah.gnu.org/cgit/guix.git/tree/nix/libutil/util.cc#n382 Here is a little reproducer: