Apparently, gnu truncate
on my x86_64
system does not support creating files with sizes of size >= 8EiB (= 2^32-1 Bytes = 9223372036854775807 Bytes).
/usr/bin/truncate: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c45930b128536914bf8134c0f11745cbd115d34b, for GNU/Linux 3.2.0, stripped
truncate -s 9223372036854775807 file
truncate -s 8E file
truncate: Invalid number: ‘8E’: Value too large for defined data type
I assumed file sizes up to 16EiB = 2^64 Bytes to be valid, or at least 2^64 – 1 Bytes.
Why is my intuition regarding the implementation of truncate flawed?